summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compat.py4
-rw-r--r--core/math/a_star.cpp55
-rw-r--r--core/math/a_star.h6
-rw-r--r--core/translation.cpp136
-rw-r--r--core/translation.h3
-rw-r--r--doc/classes/AStar.xml25
-rw-r--r--doc/classes/Image.xml6
-rw-r--r--doc/classes/LineEdit.xml58
-rw-r--r--doc/classes/RichTextLabel.xml1
-rw-r--r--doc/classes/TranslationServer.xml8
-rw-r--r--drivers/unix/os_unix.cpp4
-rw-r--r--editor/editor_settings.cpp1
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp52
-rw-r--r--editor/project_manager.cpp2
-rw-r--r--editor/translations/ar.po208
-rw-r--r--editor/translations/bg.po78
-rw-r--r--editor/translations/bn.po95
-rw-r--r--editor/translations/ca.po83
-rw-r--r--editor/translations/cs.po82
-rw-r--r--editor/translations/da.po82
-rw-r--r--editor/translations/de.po110
-rw-r--r--editor/translations/de_CH.po79
-rw-r--r--editor/translations/editor.pot73
-rw-r--r--editor/translations/el.po180
-rw-r--r--editor/translations/es.po132
-rw-r--r--editor/translations/es_AR.po467
-rw-r--r--editor/translations/fa.po82
-rw-r--r--editor/translations/fi.po91
-rw-r--r--editor/translations/fr.po131
-rw-r--r--editor/translations/hu.po76
-rw-r--r--editor/translations/id.po82
-rw-r--r--editor/translations/it.po265
-rw-r--r--editor/translations/ja.po91
-rw-r--r--editor/translations/ko.po560
-rw-r--r--editor/translations/lt.po7371
-rw-r--r--editor/translations/nb.po77
-rw-r--r--editor/translations/nl.po505
-rw-r--r--editor/translations/pl.po103
-rw-r--r--editor/translations/pr.po77
-rw-r--r--editor/translations/pt_BR.po1034
-rw-r--r--editor/translations/pt_PT.po140
-rw-r--r--editor/translations/ru.po454
-rw-r--r--editor/translations/sk.po80
-rw-r--r--editor/translations/sl.po76
-rw-r--r--editor/translations/th.po377
-rw-r--r--editor/translations/tr.po95
-rw-r--r--editor/translations/ur_PK.po76
-rw-r--r--editor/translations/zh_CN.po106
-rw-r--r--editor/translations/zh_HK.po81
-rw-r--r--editor/translations/zh_TW.po81
-rw-r--r--methods.py10
-rw-r--r--modules/mono/SCsub141
-rw-r--r--modules/mono/config.py80
-rw-r--r--modules/mono/csharp_script.cpp4
-rw-r--r--modules/mono/editor/GodotSharpTools/Build/BuildSystem.cs66
-rw-r--r--modules/mono/editor/bindings_generator.cpp1152
-rw-r--r--modules/mono/editor/bindings_generator.h7
-rw-r--r--modules/mono/editor/godotsharp_builds.cpp68
-rw-r--r--modules/mono/editor/godotsharp_builds.h9
-rw-r--r--modules/mono/editor/godotsharp_editor.cpp61
-rw-r--r--modules/mono/editor/godotsharp_editor.h23
-rw-r--r--modules/mono/editor/mono_bottom_panel.cpp15
-rw-r--r--modules/mono/editor/mono_bottom_panel.h2
-rw-r--r--modules/mono/mono_gd/gd_mono.cpp2
-rw-r--r--modules/mono/mono_gd/gd_mono_assembly.cpp7
-rw-r--r--modules/mono/mono_reg_utils.py94
-rw-r--r--platform/android/os_android.cpp4
-rw-r--r--platform/iphone/os_iphone.cpp4
-rw-r--r--platform/osx/os_osx.mm4
-rw-r--r--platform/uwp/os_uwp.cpp4
-rw-r--r--platform/windows/os_windows.cpp4
-rw-r--r--scene/gui/line_edit.cpp105
-rw-r--r--scene/gui/line_edit.h14
-rw-r--r--thirdparty/README.md2
-rw-r--r--thirdparty/libpng/LICENSE4
-rw-r--r--thirdparty/libpng/png.c6
-rw-r--r--thirdparty/libpng/png.h26
-rw-r--r--thirdparty/libpng/pngconf.h2
-rw-r--r--thirdparty/libpng/pnglibconf.h4
79 files changed, 12672 insertions, 3393 deletions
diff --git a/compat.py b/compat.py
index e1bc0ed673..32c685f5b8 100644
--- a/compat.py
+++ b/compat.py
@@ -12,6 +12,8 @@ if sys.version_info < (3,):
return cStringIO.StringIO()
def encode_utf8(x):
return x
+ def decode_utf8(x):
+ return x
def iteritems(d):
return d.iteritems()
def escape_string(s):
@@ -38,6 +40,8 @@ else:
import codecs
def encode_utf8(x):
return codecs.utf_8_encode(x)[0]
+ def decode_utf8(x):
+ return codecs.utf_8_decode(x)[0]
def iteritems(d):
return iter(d.items())
def charcode_to_c_escapes(c):
diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp
index ffe1089965..f43af49754 100644
--- a/core/math/a_star.cpp
+++ b/core/math/a_star.cpp
@@ -42,8 +42,10 @@ int AStar::get_available_point_id() const {
}
void AStar::add_point(int p_id, const Vector3 &p_pos, real_t p_weight_scale) {
+
ERR_FAIL_COND(p_id < 0);
ERR_FAIL_COND(p_weight_scale < 1);
+
if (!points.has(p_id)) {
Point *pt = memnew(Point);
pt->id = p_id;
@@ -64,12 +66,29 @@ Vector3 AStar::get_point_position(int p_id) const {
return points[p_id]->pos;
}
+
+void AStar::set_point_position(int p_id, const Vector3 &p_pos) {
+
+ ERR_FAIL_COND(!points.has(p_id));
+
+ points[p_id]->pos = p_pos;
+}
+
real_t AStar::get_point_weight_scale(int p_id) const {
ERR_FAIL_COND_V(!points.has(p_id), 0);
return points[p_id]->weight_scale;
}
+
+void AStar::set_point_weight_scale(int p_id, real_t p_weight_scale) {
+
+ ERR_FAIL_COND(!points.has(p_id));
+ ERR_FAIL_COND(p_weight_scale < 1);
+
+ points[p_id]->weight_scale = p_weight_scale;
+}
+
void AStar::remove_point(int p_id) {
ERR_FAIL_COND(!points.has(p_id));
@@ -130,6 +149,7 @@ bool AStar::has_point(int p_id) const {
}
Array AStar::get_points() {
+
Array point_list;
for (const Map<int, Point *>::Element *E = points.front(); E; E = E->next()) {
@@ -171,6 +191,7 @@ int AStar::get_closest_point(const Vector3 &p_point) const {
return closest_id;
}
+
Vector3 AStar::get_closest_position_in_segment(const Vector3 &p_point) const {
real_t closest_dist = 1e20;
@@ -222,15 +243,15 @@ bool AStar::_solve(Point *begin_point, Point *end_point) {
while (!found_route) {
if (open_list.first() == NULL) {
- //could not find path sadly
+ // No path found
break;
}
- //check open list
+ // Check open list
SelfList<Point> *least_cost_point = NULL;
real_t least_cost = 1e30;
- //this could be faster (cache previous results)
+ // TODO: Cache previous results
for (SelfList<Point> *E = open_list.first(); E; E = E->next()) {
Point *p = E->self();
@@ -246,7 +267,7 @@ bool AStar::_solve(Point *begin_point, Point *end_point) {
}
Point *p = least_cost_point->self();
- //open the neighbours for search
+ // Open the neighbours for search
int es = p->neighbours.size();
for (int i = 0; i < es; i++) {
@@ -256,7 +277,7 @@ bool AStar::_solve(Point *begin_point, Point *end_point) {
real_t distance = _compute_cost(p->id, e->id) * e->weight_scale + p->distance;
if (e->last_pass == pass) {
- //oh this was visited already, can we win the cost?
+ // Already visited, is this cheaper?
if (e->distance > distance) {
@@ -264,15 +285,15 @@ bool AStar::_solve(Point *begin_point, Point *end_point) {
e->distance = distance;
}
} else {
- //add to open neighbours
+ // Add to open neighbours
e->prev_point = p;
e->distance = distance;
- e->last_pass = pass; //mark as used
+ e->last_pass = pass; // Mark as used
open_list.add(&e->list);
if (e == end_point) {
- //oh my reached end! stop algorithm
+ // End reached; stop algorithm
found_route = true;
break;
}
@@ -285,7 +306,7 @@ bool AStar::_solve(Point *begin_point, Point *end_point) {
open_list.remove(least_cost_point);
}
- //clear the openf list
+ // Clear the openf list
while (open_list.first()) {
open_list.remove(open_list.first());
}
@@ -294,6 +315,7 @@ bool AStar::_solve(Point *begin_point, Point *end_point) {
}
float AStar::_estimate_cost(int p_from_id, int p_to_id) {
+
if (get_script_instance() && get_script_instance()->has_method(SceneStringNames::get_singleton()->_estimate_cost))
return get_script_instance()->call(SceneStringNames::get_singleton()->_estimate_cost, p_from_id, p_to_id);
@@ -301,6 +323,7 @@ float AStar::_estimate_cost(int p_from_id, int p_to_id) {
}
float AStar::_compute_cost(int p_from_id, int p_to_id) {
+
if (get_script_instance() && get_script_instance()->has_method(SceneStringNames::get_singleton()->_compute_cost))
return get_script_instance()->call(SceneStringNames::get_singleton()->_compute_cost, p_from_id, p_to_id);
@@ -331,9 +354,9 @@ PoolVector<Vector3> AStar::get_point_path(int p_from_id, int p_to_id) {
if (!found_route)
return PoolVector<Vector3>();
- //midpoints
+ // Midpoints
Point *p = end_point;
- int pc = 1; //begin point
+ int pc = 1; // Begin point
while (p != begin_point) {
pc++;
p = p->prev_point;
@@ -352,7 +375,7 @@ PoolVector<Vector3> AStar::get_point_path(int p_from_id, int p_to_id) {
p = p->prev_point;
}
- w[0] = p->pos; //assign first
+ w[0] = p->pos; // Assign first
}
return path;
@@ -382,9 +405,9 @@ PoolVector<int> AStar::get_id_path(int p_from_id, int p_to_id) {
if (!found_route)
return PoolVector<int>();
- //midpoints
+ // Midpoints
Point *p = end_point;
- int pc = 1; //begin point
+ int pc = 1; // Begin point
while (p != begin_point) {
pc++;
p = p->prev_point;
@@ -403,7 +426,7 @@ PoolVector<int> AStar::get_id_path(int p_from_id, int p_to_id) {
p = p->prev_point;
}
- w[0] = p->id; //assign first
+ w[0] = p->id; // Assign first
}
return path;
@@ -414,7 +437,9 @@ void AStar::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_available_point_id"), &AStar::get_available_point_id);
ClassDB::bind_method(D_METHOD("add_point", "id", "position", "weight_scale"), &AStar::add_point, DEFVAL(1.0));
ClassDB::bind_method(D_METHOD("get_point_position", "id"), &AStar::get_point_position);
+ ClassDB::bind_method(D_METHOD("set_point_position", "id", "position"), &AStar::set_point_position);
ClassDB::bind_method(D_METHOD("get_point_weight_scale", "id"), &AStar::get_point_weight_scale);
+ ClassDB::bind_method(D_METHOD("set_point_weight_scale", "id", "weight_scale"), &AStar::set_point_weight_scale);
ClassDB::bind_method(D_METHOD("remove_point", "id"), &AStar::remove_point);
ClassDB::bind_method(D_METHOD("has_point", "id"), &AStar::has_point);
ClassDB::bind_method(D_METHOD("get_points"), &AStar::get_points);
diff --git a/core/math/a_star.h b/core/math/a_star.h
index 2c1e2e2cf7..23773e82e2 100644
--- a/core/math/a_star.h
+++ b/core/math/a_star.h
@@ -33,6 +33,8 @@
#include "reference.h"
#include "self_list.h"
/**
+ A* pathfinding algorithm
+
@author Juan Linietsky <reduzio@gmail.com>
*/
@@ -53,7 +55,7 @@ class AStar : public Reference {
Vector<Point *> neighbours;
- //used for pathfinding
+ // Used for pathfinding
Point *prev_point;
real_t distance;
@@ -102,7 +104,9 @@ public:
void add_point(int p_id, const Vector3 &p_pos, real_t p_weight_scale = 1);
Vector3 get_point_position(int p_id) const;
+ void set_point_position(int p_id, const Vector3 &p_pos);
real_t get_point_weight_scale(int p_id) const;
+ void set_point_weight_scale(int p_id, real_t p_weight_scale);
void remove_point(int p_id);
bool has_point(int p_id) const;
Array get_points();
diff --git a/core/translation.cpp b/core/translation.cpp
index 54dbaf6ed5..058db956e5 100644
--- a/core/translation.cpp
+++ b/core/translation.cpp
@@ -753,65 +753,17 @@ static const char *locale_names[] = {
0
};
-bool TranslationServer::is_locale_valid(const String &p_locale) {
-
- const char **ptr = locale_list;
-
- while (*ptr) {
-
- if (*ptr == p_locale)
- return true;
- ptr++;
- }
-
- return false;
-}
-
-Vector<String> TranslationServer::get_all_locales() {
-
- Vector<String> locales;
-
- const char **ptr = locale_list;
-
- while (*ptr) {
- locales.push_back(*ptr);
- ptr++;
- }
-
- return locales;
-}
-
-Vector<String> TranslationServer::get_all_locale_names() {
-
- Vector<String> locales;
-
- const char **ptr = locale_names;
-
- while (*ptr) {
- locales.push_back(*ptr);
- ptr++;
- }
-
- return locales;
-}
+static const char *locale_renames[][2] = {
+ { "no", "nb" },
+ { NULL, NULL }
+};
static String get_trimmed_locale(const String &p_locale) {
return p_locale.substr(0, 2);
}
-static bool is_valid_locale(const String &p_locale) {
-
- const char **ptr = locale_list;
-
- while (*ptr) {
- if (p_locale == *ptr)
- return true;
- ptr++;
- }
-
- return false;
-}
+///////////////////////////////////////////////
PoolVector<String> Translation::_get_messages() const {
@@ -857,14 +809,13 @@ void Translation::_set_messages(const PoolVector<String> &p_messages) {
void Translation::set_locale(const String &p_locale) {
- // replaces '-' with '_' for macOS Sierra-style locales
- String univ_locale = p_locale.replace("-", "_");
+ String univ_locale = TranslationServer::standardize_locale(p_locale);
- if (!is_valid_locale(univ_locale)) {
+ if (!TranslationServer::is_locale_valid(univ_locale)) {
String trimmed_locale = get_trimmed_locale(univ_locale);
- ERR_EXPLAIN("Invalid Locale: " + trimmed_locale);
- ERR_FAIL_COND(!is_valid_locale(trimmed_locale));
+ ERR_EXPLAIN("Invalid locale: " + trimmed_locale);
+ ERR_FAIL_COND(!TranslationServer::is_locale_valid(trimmed_locale));
locale = trimmed_locale;
} else {
@@ -929,16 +880,47 @@ Translation::Translation()
///////////////////////////////////////////////
-void TranslationServer::set_locale(const String &p_locale) {
+bool TranslationServer::is_locale_valid(const String &p_locale) {
+
+ const char **ptr = locale_list;
+
+ while (*ptr) {
+
+ if (*ptr == p_locale)
+ return true;
+ ptr++;
+ }
+
+ return false;
+}
- // replaces '-' with '_' for macOS Sierra-style locales
+String TranslationServer::standardize_locale(const String &p_locale) {
+
+ // Replaces '-' with '_' for macOS Sierra-style locales
String univ_locale = p_locale.replace("-", "_");
- if (!is_valid_locale(univ_locale)) {
+ // Handles known non-ISO locale names used e.g. on Windows
+ int idx = 0;
+ while (locale_renames[idx][0] != NULL) {
+ if (locale_renames[idx][0] == univ_locale) {
+ univ_locale = locale_renames[idx][1];
+ break;
+ }
+ idx++;
+ }
+
+ return univ_locale;
+}
+
+void TranslationServer::set_locale(const String &p_locale) {
+
+ String univ_locale = standardize_locale(p_locale);
+
+ if (!is_locale_valid(univ_locale)) {
String trimmed_locale = get_trimmed_locale(univ_locale);
- ERR_EXPLAIN("Invalid Locale: " + trimmed_locale);
- ERR_FAIL_COND(!is_valid_locale(trimmed_locale));
+ ERR_EXPLAIN("Invalid locale: " + trimmed_locale);
+ ERR_FAIL_COND(!is_locale_valid(trimmed_locale));
locale = trimmed_locale;
} else {
@@ -963,6 +945,34 @@ String TranslationServer::get_locale_name(const String &p_locale) const {
return locale_name_map[p_locale];
}
+Vector<String> TranslationServer::get_all_locales() {
+
+ Vector<String> locales;
+
+ const char **ptr = locale_list;
+
+ while (*ptr) {
+ locales.push_back(*ptr);
+ ptr++;
+ }
+
+ return locales;
+}
+
+Vector<String> TranslationServer::get_all_locale_names() {
+
+ Vector<String> locales;
+
+ const char **ptr = locale_names;
+
+ while (*ptr) {
+ locales.push_back(*ptr);
+ ptr++;
+ }
+
+ return locales;
+}
+
void TranslationServer::add_translation(const Ref<Translation> &p_translation) {
translations.insert(p_translation);
diff --git a/core/translation.h b/core/translation.h
index 5fec1d9f45..0cdab3b0bc 100644
--- a/core/translation.h
+++ b/core/translation.h
@@ -85,8 +85,6 @@ class TranslationServer : public Object {
public:
_FORCE_INLINE_ static TranslationServer *get_singleton() { return singleton; }
- //yes, portuguese is supported!
-
void set_enabled(bool p_enabled) { enabled = p_enabled; }
_FORCE_INLINE_ bool is_enabled() const { return enabled; }
@@ -103,6 +101,7 @@ public:
static Vector<String> get_all_locales();
static Vector<String> get_all_locale_names();
static bool is_locale_valid(const String &p_locale);
+ static String standardize_locale(const String &p_locale);
void set_tool_translation(const Ref<Translation> &p_translation);
StringName tool_translate(const StringName &p_message) const;
diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml
index 9b15afbbd4..baeeddcd1a 100644
--- a/doc/classes/AStar.xml
+++ b/doc/classes/AStar.xml
@@ -50,6 +50,7 @@
as.add_point(1, Vector3(1,0,0), 4) # Adds the point (1,0,0) with weight_scale=4 and id=1
[/codeblock]
+ If there already exists a point for the given id, its position and weight scale are updated to the given values.
</description>
</method>
<method name="are_points_connected" qualifiers="const">
@@ -107,7 +108,7 @@
<return type="int">
</return>
<description>
- Returns an id with no point associated to it.
+ Returns the next available point id with no point associated to it.
</description>
</method>
<method name="get_closest_point" qualifiers="const">
@@ -220,6 +221,28 @@
Removes the point associated with the given id from the points pool.
</description>
</method>
+ <method name="set_point_position">
+ <return type="void">
+ </return>
+ <argument index="0" name="id" type="int">
+ </argument>
+ <argument index="1" name="position" type="Vector3">
+ </argument>
+ <description>
+ Sets the position for the point with the given id.
+ </description>
+ </method>
+ <method name="set_point_weight_scale">
+ <return type="void">
+ </return>
+ <argument index="0" name="id" type="int">
+ </argument>
+ <argument index="1" name="weight_scale" type="float">
+ </argument>
+ <description>
+ Sets the [code]weight_scale[/code] for the point with the given id.
+ </description>
+ </method>
</methods>
<constants>
</constants>
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index d5bea810ad..905a844094 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -409,10 +409,8 @@
</method>
</methods>
<members>
- <member name="data" type="Dictionary">
- <description>
- Holds all of the image's color data in a given format. See [code]FORMAT_*[/code] constants.
- </description>
+ <member name="data" type="Dictionary" setter="_set_data" getter="_get_data">
+ Holds all of the image's color data in a given format. See [code]FORMAT_*[/code] constants.
</member>
</members>
<constants>
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index 50bff87a80..850f724714 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -17,14 +17,14 @@
<argument index="0" name="text" type="String">
</argument>
<description>
- Append text at cursor, scrolling the [code]LineEdit[/code] when needed.
+ Adds [code]text[/code] after the cursor. If the resulting value is longer than [member max_length], nothing happens.
</description>
</method>
<method name="clear">
<return type="void">
</return>
<description>
- Clear the [code]LineEdit[/code] text.
+ Erases the [LineEdit] text.
</description>
</method>
<method name="cursor_get_blink_enabled" qualifiers="const">
@@ -70,7 +70,7 @@
<return type="int">
</return>
<description>
- Return the cursor position inside the [code]LineEdit[/code].
+ Returns the cursor position inside the [code]LineEdit[/code].
</description>
</method>
<method name="get_expand_to_text_length" qualifiers="const">
@@ -90,7 +90,7 @@
<return type="PopupMenu">
</return>
<description>
- Return the [PopupMenu] of this [code]LineEdit[/code].
+ Returns the [PopupMenu] of this [code]LineEdit[/code]. By default, this menu is displayed when right-clicking on the [LineEdit].
</description>
</method>
<method name="get_placeholder" qualifiers="const">
@@ -134,7 +134,7 @@
<argument index="0" name="option" type="int">
</argument>
<description>
- Execute a given action as defined in the MENU_* enum.
+ Executes a given action as defined in the MENU_* enum.
</description>
</method>
<method name="select">
@@ -145,11 +145,12 @@
<argument index="1" name="to" type="int" default="-1">
</argument>
<description>
- Select the text inside [code]LineEdit[/code] by the given character positions. [code]from[/code] is default to the beginning. [code]to[/code] is default to the end.
+ Selects characters inside [LineEdit] between [code]from[/code] and [code]to[/code]. By default [code]from[/code] is at the beginning and [code]to[/code] at the end.
[codeblock]
- select() # select all
- select(5) # select from the fifth character to the end.
- select(2, 5) # select from the second to the fifth character.
+ text = "Welcome"
+ select() # Welcome
+ select(4) # ome
+ select(2, 5) # lco
[/codeblock]
</description>
</method>
@@ -157,7 +158,7 @@
<return type="void">
</return>
<description>
- Select the whole string.
+ Selects the whole [String].
</description>
</method>
<method name="set_align">
@@ -175,7 +176,7 @@
<argument index="0" name="position" type="int">
</argument>
<description>
- Set the cursor position inside the [code]LineEdit[/code], causing it to scroll if needed.
+ Sets the cursor position inside the [code]LineEdit[/code]. The text may scroll if needed.
</description>
</method>
<method name="set_editable">
@@ -243,26 +244,37 @@
</methods>
<members>
<member name="align" type="int" setter="set_align" getter="get_align" enum="LineEdit.Align">
+ Text alignment as defined in the ALIGN_* enum.
</member>
<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="editable" type="bool" setter="set_editable" getter="is_editable">
+ If [code]false[/code] existing text cannot be modified and new text cannot be added.
</member>
<member name="expand_to_len" type="bool" setter="set_expand_to_text_length" getter="get_expand_to_text_length">
+ If [code]true[/code] the [LineEdit] width will increase to stay longer than the [member text]. It will [b]not[/b] compress if the [member text] is shortened.
</member>
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode">
+ Defines how the [LineEdit] can grab focus (Keyboard and mouse, only keyboard, or none). See [code]enum FocusMode[/code] in [Control] for details.
</member>
<member name="max_length" type="int" setter="set_max_length" getter="get_max_length">
+ Maximum amount of characters that can be entered inside the [LineEdit]. If [code]0[/code], there is no limit.
</member>
<member name="placeholder_alpha" type="float" setter="set_placeholder_alpha" getter="get_placeholder_alpha">
+ Opacity of the [member placeholder_text]. From [code]0[/code] to [code]1[/code].
</member>
<member name="placeholder_text" type="String" setter="set_placeholder" getter="get_placeholder">
+ Text shown when the [LineEdit] is empty. It is [b]not[/b] the [LineEdit]'s default value (see [member text]).
</member>
<member name="secret" type="bool" setter="set_secret" getter="is_secret">
+ If [code]true[/code] every character is shown as "*".
</member>
<member name="text" type="String" setter="set_text" getter="get_text">
+ String value of the [LineEdit].
</member>
</members>
<signals>
@@ -270,47 +282,47 @@
<argument index="0" name="text" type="String">
</argument>
<description>
- When the text changes, this signal is emitted.
+ Emitted when the text changes.
</description>
</signal>
<signal name="text_entered">
<argument index="0" name="text" type="String">
</argument>
<description>
- This signal is emitted when the user presses KEY_ENTER on the [code]LineEdit[/code]. This signal is often used as an alternate confirmation mechanism in dialogs.
+ Emitted when the user presses KEY_ENTER on the [code]LineEdit[/code].
</description>
</signal>
</signals>
<constants>
<constant name="ALIGN_LEFT" value="0">
- Align left.
+ Aligns the text on the left hand side of the [LineEdit].
</constant>
<constant name="ALIGN_CENTER" value="1">
- Align center.
+ Centers the text in the middle of the [LineEdit].
</constant>
<constant name="ALIGN_RIGHT" value="2">
- Align right.
+ Aligns the text on the right hand side of the [LineEdit].
</constant>
<constant name="ALIGN_FILL" value="3">
- Align fill.
+ Stretches whitespaces to fit the [LineEdit]'s width.
</constant>
<constant name="MENU_CUT" value="0">
- Cut (Copy and clear).
+ Cuts (Copies and clears) the selected text.
</constant>
<constant name="MENU_COPY" value="1">
- Copy the selected text.
+ Copies the selected text.
</constant>
<constant name="MENU_PASTE" value="2">
- Paste the clipboard text over the selected text.
+ Pastes the clipboard text over the selected text (or at the cursor's position).
</constant>
<constant name="MENU_CLEAR" value="3">
- Clear the text.
+ Erases the whole [Linedit] text.
</constant>
<constant name="MENU_SELECT_ALL" value="4">
- Select all text.
+ Selects the whole [Linedit] text.
</constant>
<constant name="MENU_UNDO" value="5">
- Undo an action.
+ Undoes the previous action.
</constant>
<constant name="MENU_MAX" value="6">
</constant>
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index 7f9955d29b..cc644f34cb 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -31,7 +31,6 @@
<return type="int" enum="Error">
</return>
<argument index="0" name="bbcode" type="String">
- Adds BBCode to the text label.
</argument>
<description>
</description>
diff --git a/doc/classes/TranslationServer.xml b/doc/classes/TranslationServer.xml
index 974b0e283f..1657541c19 100644
--- a/doc/classes/TranslationServer.xml
+++ b/doc/classes/TranslationServer.xml
@@ -30,6 +30,14 @@
<description>
</description>
</method>
+ <method name="get_locale_name" qualifiers="const">
+ <return type="String">
+ </return>
+ <argument index="0" name="locale" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="remove_translation">
<return type="void">
</return>
diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp
index 2a3d48746f..729abd57ef 100644
--- a/drivers/unix/os_unix.cpp
+++ b/drivers/unix/os_unix.cpp
@@ -136,7 +136,9 @@ void OS_Unix::initialize_core() {
void OS_Unix::initialize_logger() {
Vector<Logger *> loggers;
loggers.push_back(memnew(UnixTerminalLogger));
- loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
+ // FIXME: Reenable once we figure out how to get this properly in user://
+ // instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277)
+ //loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
_set_logger(memnew(CompositeLogger(loggers)));
}
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 799a8a2eb8..78cc215421 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -544,6 +544,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
{
String lang_hint = "en";
String host_lang = OS::get_singleton()->get_locale();
+ host_lang = TranslationServer::standardize_locale(host_lang);
String best;
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 5782edd321..22c81a3b61 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -1205,6 +1205,32 @@ void CanvasItemEditor::_gui_input_viewport_base(const Ref<InputEvent> &p_event)
if (!viewport_base->has_focus() && (!get_focus_owner() || !get_focus_owner()->is_text_field()))
viewport_base->call_deferred("grab_focus");
}
+
+ Ref<InputEventKey> k = p_event;
+ if (k.is_valid()) {
+ if (k->is_pressed() && drag == DRAG_NONE) {
+ // Move the object with the arrow keys
+ KeyMoveMODE move_mode = MOVE_VIEW_BASE;
+ if (k->get_alt()) move_mode = MOVE_LOCAL_BASE;
+ if (k->get_control() || k->get_metakey()) move_mode = MOVE_LOCAL_WITH_ROT;
+
+ if (k->get_scancode() == KEY_UP)
+ _key_move(Vector2(0, -1), k->get_shift(), move_mode);
+ else if (k->get_scancode() == KEY_DOWN)
+ _key_move(Vector2(0, 1), k->get_shift(), move_mode);
+ else if (k->get_scancode() == KEY_LEFT)
+ _key_move(Vector2(-1, 0), k->get_shift(), move_mode);
+ else if (k->get_scancode() == KEY_RIGHT)
+ _key_move(Vector2(1, 0), k->get_shift(), move_mode);
+ else if (k->get_scancode() == KEY_ESCAPE) {
+ editor_selection->clear();
+ viewport->update();
+ } else
+ return;
+
+ accept_event();
+ }
+ }
}
void CanvasItemEditor::_gui_input_viewport(const Ref<InputEvent> &p_event) {
@@ -2001,32 +2027,6 @@ void CanvasItemEditor::_gui_input_viewport(const Ref<InputEvent> &p_event) {
}
}
}
-
- Ref<InputEventKey> k = p_event;
- if (k.is_valid()) {
- if (k->is_pressed() && drag == DRAG_NONE) {
- // Move the object with the arrow keys
- KeyMoveMODE move_mode = MOVE_VIEW_BASE;
- if (k->get_alt()) move_mode = MOVE_LOCAL_BASE;
- if (k->get_control() || k->get_metakey()) move_mode = MOVE_LOCAL_WITH_ROT;
-
- if (k->get_scancode() == KEY_UP)
- _key_move(Vector2(0, -1), k->get_shift(), move_mode);
- else if (k->get_scancode() == KEY_DOWN)
- _key_move(Vector2(0, 1), k->get_shift(), move_mode);
- else if (k->get_scancode() == KEY_LEFT)
- _key_move(Vector2(-1, 0), k->get_shift(), move_mode);
- else if (k->get_scancode() == KEY_RIGHT)
- _key_move(Vector2(1, 0), k->get_shift(), move_mode);
- else if (k->get_scancode() == KEY_ESCAPE) {
- editor_selection->clear();
- viewport->update();
- } else
- return;
-
- accept_event();
- }
- }
}
void CanvasItemEditor::_draw_text_at_position(Point2 p_position, String p_string, Margin p_side) {
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index 8f81febf31..18416868ec 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -125,7 +125,7 @@ private:
}
if (valid_path == "") {
- set_message(TTR("The path does not exists."), MESSAGE_ERROR);
+ set_message(TTR("The path does not exist."), MESSAGE_ERROR);
memdelete(d);
return "";
}
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index bf0d4bac00..0309680da9 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -1,5 +1,6 @@
# Arabic translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# athomield <athomield@hotmail.com>, 2017.
@@ -7,12 +8,13 @@
# Mohammmad Khashashneh <mohammad.rasmi@gmail.com>, 2016.
# omar anwar aglan <omar.aglan91@yahoo.com>, 2017.
# OWs Tetra <owstetra@gmail.com>, 2017.
+# Wajdi Feki <wajdi.feki@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2017-09-29 19:44+0000\n"
-"Last-Translator: omar anwar aglan <omar.aglan91@yahoo.com>\n"
+"PO-Revision-Date: 2017-10-25 20:58+0000\n"
+"Last-Translator: Wajdi Feki <wajdi.feki@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -20,99 +22,99 @@ 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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
-msgstr "معطل"
+msgstr "معطّل"
#: editor/animation_editor.cpp
msgid "All Selection"
-msgstr "ÙƒÙÙ„ المÙحدد"
+msgstr "ÙƒÙÙ„ الإختيار"
#: editor/animation_editor.cpp
msgid "Move Add Key"
-msgstr "تحرك أض٠مÙÙتاح"
+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 "الحركة تغير القيمة"
+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
msgid "Duplicate Selection"
-msgstr "تكرير المحدد"
+msgstr "إختيار النسخ"
#: editor/animation_editor.cpp
msgid "Duplicate Transposed"
-msgstr "تكرير النقل"
+msgstr "نسخ محمّل"
#: editor/animation_editor.cpp
msgid "Remove Selection"
-msgstr "إزالة التحديد"
+msgstr "حذ٠الإختيار"
#: editor/animation_editor.cpp
msgid "Continuous"
@@ -128,11 +130,11 @@ msgstr "Ù…Ùطلق"
#: editor/animation_editor.cpp
msgid "Anim Add Key"
-msgstr "إضاÙØ© Ù…Ùتاح حركة"
+msgstr "Ù…Ùتاح إضاÙØ© تحريك"
#: editor/animation_editor.cpp
msgid "Anim Move Keys"
-msgstr "Ù…Ùتاح حركة"
+msgstr "Ù…Ùتاح حركة التحريك"
#: editor/animation_editor.cpp
msgid "Scale Selection"
@@ -458,15 +460,15 @@ msgstr "العمود:"
#: editor/connections_dialog.cpp
msgid "Method in target Node must be specified!"
-msgstr "الميثود ÙÙŠ العقدة الهد٠يجب أن تحدد!"
+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:"
@@ -487,11 +489,11 @@ msgstr "إمسح"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
-msgstr ""
+msgstr "إضاÙØ© وسيطة إستدعاء إضاÙية"
#: editor/connections_dialog.cpp
msgid "Extra Call Arguments:"
-msgstr ""
+msgstr "وسائط إستدعاء إضاÙية :"
#: editor/connections_dialog.cpp
msgid "Path to Node:"
@@ -745,31 +747,31 @@ msgstr "المالكون"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "الرعاة البلاتينيين"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "الرعاة الذهبيين"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+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"
@@ -1000,7 +1002,7 @@ msgstr "إسم غير صالح، يجب أن لا يتصادم مع الأسما
#: editor/editor_autoload_settings.cpp
msgid "Invalid name. Must not collide with an existing global constant name."
-msgstr "إسم غير صالح، يجب أن لا يتصادم مع أسم ثابت عالمياص موجود بالÙعل."
+msgstr "إسم غير صالح، ييجب ألاّ يتصادم مع إسم موجود لثابت عمومي."
#: editor/editor_autoload_settings.cpp
msgid "Invalid Path."
@@ -1223,10 +1225,6 @@ msgid "File:"
msgstr "الملÙ:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "المÙصÙÙŠ:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "يجب أن يستخدم صيغة صحيحة."
@@ -1245,19 +1243,19 @@ msgstr "إبحث ÙÙŠ المساعدة"
#: editor/editor_help.cpp
msgid "Class List:"
-msgstr "قائمة الÙصول:"
+msgstr "قائمة الأصناÙ:"
#: editor/editor_help.cpp
msgid "Search Classes"
-msgstr "إبحث ÙÙŠ الÙصول"
+msgstr "إبحث ÙÙŠ الأصناÙ"
#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
-msgstr ""
+msgstr "Ùوق"
#: editor/editor_help.cpp editor/property_editor.cpp
msgid "Class:"
-msgstr "الÙصل:"
+msgstr "صنÙ:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
msgid "Inherits:"
@@ -1331,7 +1329,7 @@ msgstr "الوصÙ:"
#: editor/editor_help.cpp
msgid "Properties"
-msgstr ""
+msgstr "خصائص"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1342,6 +1340,8 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"لا يوجد حاليا وص٠لهذه الخاصية. الرجاء المساعدة من خلال [url][/color/] "
+"المساهمة واحد [color=$color][url=$url]!"
#: editor/editor_help.cpp
#, fuzzy
@@ -1357,6 +1357,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
msgid "Search Text"
@@ -1409,7 +1411,7 @@ msgstr "خطأ خلال الحÙظ."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr ""
+msgstr "نهاية مل٠غير مرتقبة 's%'."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
@@ -1439,7 +1441,7 @@ msgstr "هذه العملية لا يمكنها الإكتمال من غير جØ
#: editor/editor_node.cpp
msgid ""
"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
-msgstr "لا يمكن Ø­Ùظ المشهد. علي ما يبدو التبعيات (الأمثلة) لا يمكن ملئها."
+msgstr "لا يمكن Ø­Ùظ المشهد. على الأرجح لا يمكن إستيÙاء التبعيات (مجسّدات)."
#: editor/editor_node.cpp
msgid "Failed to load resource."
@@ -1682,19 +1684,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -1962,7 +1969,7 @@ 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"
@@ -2215,7 +2222,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2246,7 +2253,7 @@ 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."
@@ -2266,7 +2273,7 @@ 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)"
@@ -3019,7 +3026,7 @@ msgstr "لا يمكن الإتصال بالمÙضيÙ:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "No response from host:"
-msgstr "لا إستجابة من المÙضيÙ:"
+msgstr "لا ردّ من المÙضيÙ:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "No response."
@@ -3870,7 +3877,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4246,7 +4253,7 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
msgid " Class Reference"
-msgstr ""
+msgstr " مرجع الصنÙ"
#: editor/plugins/script_editor_plugin.cpp
msgid "Next script"
@@ -4332,7 +4339,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4350,7 +4358,7 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the class hierarchy."
-msgstr ""
+msgstr "إبحث ÙÙŠ هرمية الأصناÙ."
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
@@ -4426,7 +4434,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5182,16 +5191,20 @@ msgid "Remove All"
msgstr "عملية تحريك"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Class Items"
+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 ""
+msgstr "حذ٠بنود من الصنÙ"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Create Empty Template"
@@ -5466,7 +5479,7 @@ msgstr ""
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "المل٠غير موجود."
#: editor/project_manager.cpp
@@ -5596,6 +5609,12 @@ 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 ""
@@ -5625,6 +5644,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5847,6 +5870,14 @@ 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 ""
@@ -5907,6 +5938,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "المÙصÙÙŠ:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -6006,11 +6058,11 @@ msgstr ""
#: editor/property_selector.cpp
msgid "Select Virtual Method"
-msgstr ""
+msgstr "إختر طريقة Ø¥Ùتراضية"
#: editor/property_selector.cpp
msgid "Select Method"
-msgstr ""
+msgstr "إختر طريقة"
#: editor/pvrtc_compress.cpp
msgid "Could not execute PVRTC tool:"
@@ -6366,7 +6418,7 @@ msgstr ""
#: editor/script_create_dialog.cpp
msgid "Invalid class name"
-msgstr ""
+msgstr "إسم صن٠غير صالح"
#: editor/script_create_dialog.cpp
msgid "Invalid inherited parent name or path"
@@ -6403,7 +6455,7 @@ msgstr ""
#: editor/script_create_dialog.cpp
msgid "Class Name"
-msgstr ""
+msgstr "إسم صنÙ"
#: editor/script_create_dialog.cpp
msgid "Template"
@@ -6669,9 +6721,7 @@ msgstr ""
#: modules/gdscript/gd_functions.cpp
msgid "Invalid instance dictionary (invalid subclasses)"
-msgstr ""
-"instance dictionary نموذج القاموس غير صالح - subclasses الÙئة الÙرعية غير "
-"صالحة"
+msgstr "مجسّد القاموس غير صالح (أصنا٠Ùرعية غير صالحة)"
#: modules/gdscript/gd_functions.cpp
msgid "Object can't provide a length."
@@ -7111,7 +7161,7 @@ msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
-msgstr ""
+msgstr "العقدة المخصصة لا تحتوي طريقة ()step_ ، لا يمكن معالجة المخطوط."
#: modules/visual_script/visual_script_nodes.cpp
msgid ""
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index 8906562216..21e2b4f27d 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -1,5 +1,6 @@
# Bulgarian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Bojidar Marinov <bojidar.marinov.bg@gmail.com>, 2016.
@@ -1212,10 +1213,6 @@ msgid "File:"
msgstr "Файл:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "ТрÑбва да Ñе използва правилно разширение."
@@ -1667,19 +1664,25 @@ msgid "Pick a Main Scene"
msgstr "Изберете главна Ñцена"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2200,7 +2203,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3861,7 +3864,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4319,7 +4322,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4413,7 +4417,8 @@ msgid "Cut"
msgstr "ИзрÑзване"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Копиране"
@@ -5171,7 +5176,11 @@ msgid "Remove All"
msgstr "ЗатварÑне на вÑичко"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5456,7 +5465,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5588,6 +5597,12 @@ 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 ""
@@ -5617,6 +5632,10 @@ msgid "Exit"
msgstr "Изход"
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Създаване на нов проект"
@@ -5840,6 +5859,14 @@ 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 "ÐаÑтройки на проекта"
@@ -5900,6 +5927,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "ПоÑтавÑне на възелите"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 560a88ca53..3e93381dcd 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -1,5 +1,6 @@
# Bengali translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Abu Md. Maruf Sarker <maruf.webdev@gmail.com>, 2016-2017.
@@ -1249,10 +1250,6 @@ msgid "File:"
msgstr "ফাইল:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "ফিলà§à¦Ÿà¦¾à¦°:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "à¦à¦•à¦Ÿà¦¿ কারà§à¦¯à¦•à¦° à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨ বà§à¦¯à¦¬à¦¹à¦¾à¦° করা আবশà§à¦¯à¦•à¥¤"
@@ -1727,19 +1724,25 @@ msgid "Pick a Main Scene"
msgstr "à¦à¦•à¦Ÿà¦¿ মà§à¦–à§à¦¯ দৃশà§à¦¯ মনোনীত করà§à¦¨"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "%s হতে সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ তà§à¦²à¦¤à§‡/লোডে সমসà§à¦¯à¦¾ হয়েছে"
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2296,7 +2299,8 @@ msgid "Frame %"
msgstr "ফà§à¦°à§‡à¦® %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "সà§à¦¥à¦¿à¦°/বদà§à¦§ ফà§à¦°à§‡à¦® %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -4023,7 +4027,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "সতরà§à¦•à¦¤à¦¾"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4506,7 +4510,8 @@ msgstr "পদারà§à¦ªà¦£ করà§à¦¨"
msgid "Break"
msgstr "বিরতি/ভাঙà§à¦—ন"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "সচল"
@@ -4606,7 +4611,8 @@ msgid "Cut"
msgstr "করà§à¦¤à¦¨/কাট করà§à¦¨"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
@@ -5385,8 +5391,12 @@ msgid "Remove All"
msgstr "অপসারণ করà§à¦¨"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "থিম"
+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"
@@ -5691,7 +5701,7 @@ msgstr "Tile Set à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।"
#: editor/project_manager.cpp
@@ -5831,6 +5841,12 @@ 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 ""
@@ -5864,6 +5880,11 @@ msgstr "পà§à¦°à¦¸à§à¦¥à¦¾à¦¨ করà§à¦¨"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ (সেঃ):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "সংযোগ.."
@@ -6095,6 +6116,15 @@ msgstr "রিসোরà§à¦¸à§‡à¦° পà§à¦¨à¦ƒ-নকশার সিদà§à¦§
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "বà§à¦²à§‡à¦¨à§à¦¡-à¦à¦° সময় পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "পà§à¦°à¦•à¦²à§à¦ªà§‡à¦° সেটিংস (engine.cfg)"
@@ -6155,6 +6185,30 @@ msgid "Locale"
msgstr "ঘটনাসà§à¦¥à¦²"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "ছবির ফিলà§à¦Ÿà¦¾à¦°:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "বোনà§â€Œ/হাড় দেখান"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "ঘটনাসà§à¦¥à¦²"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ-লোড"
@@ -7763,6 +7817,12 @@ msgstr "ফনà§à¦Ÿ তà§à¦²à¦¤à§‡/লোডে সমসà§à¦¯à¦¾ হয়েà¦
msgid "Invalid font size."
msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
+#~ msgid "Filter:"
+#~ msgstr "ফিলà§à¦Ÿà¦¾à¦°:"
+
+#~ msgid "Theme"
+#~ msgstr "থিম"
+
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' à¦à¦° জনà§à¦¯ মেথডের তালিকা:"
@@ -8685,9 +8745,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Preview Atlas"
#~ msgstr "à¦à¦Ÿà¦²à¦¾à¦¸/মানচিতà§à¦°à¦¾à¦¬à¦²à§€ পà§à¦°à¦¿à¦­à¦¿à¦‰"
-#~ msgid "Image Filter:"
-#~ msgstr "ছবির ফিলà§à¦Ÿà¦¾à¦°:"
-
#~ msgid "Images:"
#~ msgstr "ছবিসমূহ:"
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index 4d90d8c6c9..1a5a285b94 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -1,5 +1,6 @@
# Catalan translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Roger BR <drai_kin@hotmail.com>, 2016.
@@ -1237,10 +1238,6 @@ msgid "File:"
msgstr "Fitxer:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtre:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Cal utilitzar una extensió vàlida."
@@ -1714,19 +1711,25 @@ msgid "Pick a Main Scene"
msgstr "Tria una Escena Principal"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Error carregant lletra."
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2280,7 +2283,8 @@ msgid "Frame %"
msgstr "% del Fotograma"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "% del Fotograma Fix"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3976,7 +3980,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4442,7 +4446,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4539,7 +4544,8 @@ msgid "Cut"
msgstr "Talla"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Copia"
@@ -5309,7 +5315,11 @@ msgid "Remove All"
msgstr "Treu"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5605,7 +5615,7 @@ msgstr "Exporta el joc de Mosaics (Tiles)"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "El Fitxer no existeix."
#: editor/project_manager.cpp
@@ -5740,6 +5750,12 @@ 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 ""
@@ -5770,6 +5786,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Connecta.."
@@ -5997,6 +6017,15 @@ msgstr ""
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Canvia Tipus de la Matriu"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Configuració del Projecte (engine.cfg)"
@@ -6057,6 +6086,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtres"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7672,6 +7722,9 @@ msgstr "Error carregant lletra."
msgid "Invalid font size."
msgstr "La mida de la lletra no és vàlida."
+#~ msgid "Filter:"
+#~ msgstr "Filtre:"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Llista de mètodes de '%s':"
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index aa971c428f..8083094a39 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -1,5 +1,6 @@
# Czech translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Jan 'spl!te' Kondelík <j.kondelik@centrum.cz>, 2016.
@@ -1225,10 +1226,6 @@ msgid "File:"
msgstr "Soubor:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtr:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Je nutné použít platnou příponu."
@@ -1681,19 +1678,25 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Chyba nahrávání fontu."
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2219,7 +2222,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3893,7 +3896,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4356,7 +4359,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4452,7 +4456,8 @@ msgid "Cut"
msgstr "Vyjmout"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopírovat"
@@ -5215,7 +5220,11 @@ msgid "Remove All"
msgstr "Odebrat"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5506,7 +5515,7 @@ msgstr ""
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Soubor neexistuje."
#: editor/project_manager.cpp
@@ -5637,6 +5646,12 @@ 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 ""
@@ -5667,6 +5682,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Připojit.."
@@ -5894,6 +5913,15 @@ msgstr ""
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Změnit typ hodnot pole"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Nastavení projektu"
@@ -5954,6 +5982,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtr:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7545,6 +7594,9 @@ msgstr "Chyba nahrávání fontu."
msgid "Invalid font size."
msgstr "Neplatná velikost fontu."
+#~ msgid "Filter:"
+#~ msgstr "Filtr:"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Seznam metod '%s':"
diff --git a/editor/translations/da.po b/editor/translations/da.po
index 0a8492e137..50da2c54b8 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -1,5 +1,6 @@
# Danish translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# David Lamhauge <davidlamhauge@gmail.com>, 2016.
@@ -1219,10 +1220,6 @@ msgid "File:"
msgstr "Fil:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filter:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Skal bruge en gyldig udvidelse."
@@ -1675,19 +1672,25 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Error loading skrifttype."
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2211,7 +2214,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3881,7 +3884,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4344,7 +4347,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4440,7 +4444,8 @@ msgid "Cut"
msgstr "Cut"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopier"
@@ -5203,7 +5208,11 @@ msgid "Remove All"
msgstr "Fjern"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5490,7 +5499,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5621,6 +5630,12 @@ 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 ""
@@ -5651,6 +5666,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Forbind..."
@@ -5877,6 +5896,15 @@ msgid "Remove Resource Remap Option"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Skift Array værditype"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
msgstr ""
@@ -5937,6 +5965,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filter:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7520,6 +7569,9 @@ msgstr "Error loading skrifttype."
msgid "Invalid font size."
msgstr "Ugyldig skriftstørrelse."
+#~ msgid "Filter:"
+#~ msgstr "Filter:"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Metode liste For '%s':"
diff --git a/editor/translations/de.po b/editor/translations/de.po
index db3f62b61b..986987978c 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -1,5 +1,6 @@
# German translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Alexander Mahr <alex.mahr@gmail.com>, 2016.
@@ -1247,10 +1248,6 @@ msgid "File:"
msgstr "Datei:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filter:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Eine gültige Datei-Endung muss verwendet werden."
@@ -1719,22 +1716,30 @@ msgid "Pick a Main Scene"
msgstr "Wähle eine Hauptszene"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "Plugin bei ‚"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
-"‘ kann nicht aktiviert werden, Einlesen der Konfigurationsdatei "
-"fehlgeschlagen."
+"Skript-Feld für Addon-Plugin in ‚res://addons/‘ konnte nicht gefunden werden."
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
-msgstr ""
-"Skript-Feld für Addon-Plugin in ‚res://addons/‘ konnte nicht gefunden werden."
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "AddOn-Skript konnte nicht geladen werden: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "AddOn-Skript konnte nicht geladen werden: '"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "AddOn-Skript konnte nicht geladen werden: '"
#: editor/editor_node.cpp
@@ -2284,7 +2289,8 @@ msgid "Frame %"
msgstr "Bild %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "Fixiertes Bild %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3988,7 +3994,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Warnung"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4457,7 +4463,8 @@ msgstr "Hineinspringen"
msgid "Break"
msgstr "Unterbrechung"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Fortfahren"
@@ -4555,7 +4562,8 @@ msgid "Cut"
msgstr "Ausschneiden"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopieren"
@@ -5313,8 +5321,12 @@ msgid "Remove All"
msgstr "Alles entfernen"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Motiv"
+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"
@@ -5604,7 +5616,7 @@ msgstr "Exportiere mit Debuginformationen"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Datei existiert nicht."
#: editor/project_manager.cpp
@@ -5746,6 +5758,12 @@ 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 "Sollen wirklich %s Ordner nach Godot-Projekten durchsucht werden?"
@@ -5775,6 +5793,11 @@ msgid "Exit"
msgstr "Verlassen"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "Neu starten (s):"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "Projekt kann nicht ausgeführt werden"
@@ -5999,6 +6022,15 @@ msgid "Remove Resource Remap Option"
msgstr "Ressourcen-Remap-Option entfernen"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Überblendungszeit ändern"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
msgstr "Projekteinstellungen (project.godot)"
@@ -6059,6 +6091,30 @@ msgid "Locale"
msgstr "Lokalisierung"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Bildfilter:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Knochen anzeigen"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Nodes filtern"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Lokalisierung"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "Autoload"
@@ -7669,6 +7725,17 @@ msgstr "Fehler beim Laden der Schriftart."
msgid "Invalid font size."
msgstr "Ungültige Schriftgröße."
+#~ msgid "Filter:"
+#~ msgstr "Filter:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr ""
+#~ "‘ kann nicht aktiviert werden, Einlesen der Konfigurationsdatei "
+#~ "fehlgeschlagen."
+
+#~ msgid "Theme"
+#~ msgstr "Motiv"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Methodenliste für '%s':"
@@ -8601,9 +8668,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Preview Atlas"
#~ msgstr "Zeige Atlas-Vorschau"
-#~ msgid "Image Filter:"
-#~ msgstr "Bildfilter:"
-
#~ msgid "Images:"
#~ msgstr "Bilder:"
diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po
index e01560fa8a..8c9e4cc1de 100644
--- a/editor/translations/de_CH.po
+++ b/editor/translations/de_CH.po
@@ -1,5 +1,6 @@
# Swiss High German translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Christian Fisch <christian.fiesel@gmail.com>, 2016.
@@ -1208,10 +1209,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1660,19 +1657,25 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Fehler beim Instanzieren der %s Szene"
+
+#: editor/editor_node.cpp
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2200,7 +2203,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3873,7 +3876,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4339,7 +4342,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4433,7 +4437,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5195,7 +5200,11 @@ msgid "Remove All"
msgstr "Ungültige Bilder löschen"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5481,7 +5490,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5617,6 +5626,12 @@ 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 ""
@@ -5647,6 +5662,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Neues Projekt erstellen"
@@ -5873,6 +5892,15 @@ msgstr ""
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Typ ändern"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Projekteinstellungen"
@@ -5933,6 +5961,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Node erstellen"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index cd26e9cbe0..efddb63796 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -1197,10 +1197,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1640,19 +1636,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -2171,7 +2172,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3816,7 +3817,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4274,7 +4275,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4368,7 +4370,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5121,7 +5124,11 @@ msgid "Remove All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5404,7 +5411,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5532,6 +5539,12 @@ 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 ""
@@ -5561,6 +5574,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5782,6 +5799,14 @@ 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 ""
@@ -5842,6 +5867,26 @@ 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 ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 4cf08adc7a..02de498110 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -1,5 +1,6 @@
# Greek translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# George Tsiamasiotis <gtsiam@windowslive.com>, 2017.
@@ -7,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2017-08-27 16:46+0000\n"
+"PO-Revision-Date: 2017-10-24 18:46+0000\n"
"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/"
"el/>\n"
@@ -15,7 +16,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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -653,9 +654,8 @@ msgstr ""
"Îα αφαιÏεθοÏν; (ΑδÏνατη η αναίÏεση)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Cannot remove:\n"
-msgstr "Δεν είναι δυνατή η επίλυση."
+msgstr "ΑδÏνατη η αφαίÏεση:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -742,32 +742,31 @@ msgstr "ΣυγγÏαφείς"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "ΚοÏυφαίοι ΧοÏηγοί"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "ΧÏυσοί ΧοÏυγοί"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "ΜικÏοί ΧοÏηγοί"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "ΧÏυσοί ΔωÏητές"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "ΑÏγυÏοί ΔωÏητές"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "Κλωνοποίηση κάτω"
+msgstr "Χάλκινοι ΔωÏητές"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "ΔωÏητές"
#: editor/editor_about.cpp
msgid "License"
@@ -894,9 +893,8 @@ msgid "Duplicate"
msgstr "Διπλασιασμός"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "ΕπαναφοÏά μεγέθυνσης"
+msgstr "ΕπαναφοÏά Έντασης"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
@@ -919,9 +917,8 @@ msgid "Duplicate Audio Bus"
msgstr "ΑναπαÏαγωγή διαÏλου ήχου"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "ΕπαναφοÏά μεγέθυνσης"
+msgstr "ΕπαναφοÏά Έντασης ΔιαÏλου"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
@@ -1206,9 +1203,8 @@ msgid "Move Favorite Down"
msgstr "Μετακίνηση αγαπημένου κάτω"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "ΑδÏνατη η δημιουÏγία φακέλου."
+msgstr "Πήγαινε στον γονικό φάκελο"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1224,10 +1220,6 @@ msgid "File:"
msgstr "ΑÏχείο:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "ΦίλτÏο:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Απαιτείται η χÏήση έγκυÏης επέκτασης."
@@ -1273,27 +1265,24 @@ msgid "Brief Description:"
msgstr "ΣÏντομη πεÏιγÏαφή:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "Μέλη:"
+msgstr "Μέλη"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "Μέλη:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "Δημόσιες συναÏτήσεις:"
+msgstr "Δημόσιες συναÏτήσεις"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "Δημόσιες συναÏτήσεις:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "Στοιχεία του θέματος GUI:"
+msgstr "Στοιχεία του θέματος GUI"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1304,9 +1293,8 @@ msgid "Signals:"
msgstr "Σήματα:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "ΑπαÏιθμήσεις:"
+msgstr "ΑπαÏιθμήσεις"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1317,23 +1305,20 @@ msgid "enum "
msgstr "απαÏίθμηση "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "ΣταθεÏές:"
+msgstr "ΣταθεÏές"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "ΣταθεÏές:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "ΠεÏιγÏαφή:"
+msgstr "ΠεÏιγÏαφή"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "Ιδιότητες:"
+msgstr "Ιδιότητες"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1346,9 +1331,8 @@ msgid ""
msgstr ""
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "Λίστα συναÏτήσεων:"
+msgstr "ΣυναÏτήσεις"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1400,28 +1384,24 @@ msgid "Error while saving."
msgstr "Σφάλμα κατά την αποθήκευση."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "ΑδÏνατη η λειτουÏγία στο '..'"
+msgstr "ΑδÏνατο το άνοιγμα του '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while parsing '%s'."
-msgstr "Σφάλμα κατά την αποθήκευση."
+msgstr "Σφάλμα κατά η ανάλυση του '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "Η σκηνή '%s' έχει σπασμένες εξαÏτήσεις:"
+msgstr "Λείπει το '%s' ή οι εξαÏτήσεις του."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "Σφάλμα κατά την αποθήκευση."
+msgstr "Σφάλμα κατά την φόÏτωση του '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1698,21 +1678,31 @@ msgid "Pick a Main Scene"
msgstr "Επιλογή κÏÏιας σκηνής"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "ΑδÏνατη η ενεÏγοποίηση Ï€Ïόσθετης επέκτασης στο: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' απέτυχε η ανάλυση του αÏγείου παÏαμέτÏων."
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
"ΑδÏνατη η έυÏεση του πεδίου 'script' για την Ï€Ïόσθετη επέκταση στο: 'res://"
"addons/"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "ΑδÏνατη η φόÏτωση δεσμής ενεÏγειών Ï€Ïοσθέτου από τη διαδÏομή: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "ΑδÏνατη η φόÏτωση δεσμής ενεÏγειών Ï€Ïοσθέτου από τη διαδÏομή: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "ΑδÏνατη η φόÏτωση δεσμής ενεÏγειών Ï€Ïοσθέτου από τη διαδÏομή: '"
#: editor/editor_node.cpp
@@ -1743,9 +1733,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "Η σκηνή '%s' έχει σπασμένες εξαÏτήσεις:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "ΕκκαθάÏιση Ï€Ïόσφατων αÏχείων"
+msgstr "ΕκκαθάÏιση Ï€Ïόσφατων σκηνών"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -2120,9 +2109,8 @@ msgid "Object properties."
msgstr "Ιδιότητες αντικειμένου."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "Αλλαγή διανυσματικής σταθεÏάς"
+msgstr "Οι αλλαγές μποÏεί να χαθοÏν!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2208,7 +2196,7 @@ msgstr "Άνοιγμα του Ï€ÏοηγοÏμενου επεξεÏγαστή"
#: editor/editor_plugin.cpp
#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "ΔημιουÏγία βιβλιοθήκης πλεγμάτων"
+msgstr "ΔημιουÏγία Ï€Ïοεπισκοπήσεων πλεγμάτων"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2260,7 +2248,8 @@ msgid "Frame %"
msgstr "ΚαÏέ %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "ΣταθεÏÏŒ καÏέ %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3968,7 +3957,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "ΠÏοειδοποίηση"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4437,7 +4426,8 @@ msgstr "Βήμα μέσα"
msgid "Break"
msgstr "Διακοπή"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Συνέχιση"
@@ -4535,7 +4525,8 @@ msgid "Cut"
msgstr "Αποκοπή"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "ΑντιγÏαφή"
@@ -5294,8 +5285,12 @@ msgid "Remove All"
msgstr "ΑφαίÏεση όλων"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Θέμα"
+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"
@@ -5585,7 +5580,7 @@ msgstr "Εξαγωγή με αποσφαλμάτωση"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Το αÏχείο δεν υπάÏχει."
#: editor/project_manager.cpp
@@ -5726,6 +5721,12 @@ 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 ""
@@ -5756,6 +5757,11 @@ msgid "Exit"
msgstr "Έξοδος"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "Επανεκκίνηση (δευτεÏόλεπτα):"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "Δεν είναι δυνατή η εκτέλεση του έÏγου"
@@ -5980,6 +5986,15 @@ msgid "Remove Resource Remap Option"
msgstr "ΑφαίÏεση επιλογής ανακατεÏθυνσης πόÏου"
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "Ρυθμίσεις έÏγου (project.godot)"
@@ -6040,6 +6055,30 @@ msgid "Locale"
msgstr "ΠεÏιοχή"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "ΠεÏιοχή"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Εμφάνιση οστών"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "ΦιλτÏάÏισμα κόμβων"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "ΠεÏιοχή"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "Αυτόματη φόÏτωση"
@@ -7648,6 +7687,15 @@ msgstr "Σφάλμα κατά την φόÏτωση της γÏαμματοσεÎ
msgid "Invalid font size."
msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
+#~ msgid "Filter:"
+#~ msgstr "ΦίλτÏο:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' απέτυχε η ανάλυση του αÏγείου παÏαμέτÏων."
+
+#~ msgid "Theme"
+#~ msgstr "Θέμα"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Λίστα συναÏτήσεων για '%s':"
diff --git a/editor/translations/es.po b/editor/translations/es.po
index e6a9f205fd..dd4b811bff 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -1,5 +1,6 @@
# Spanish translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Addiel Lucena Perez <addiell2017@gmail.com>, 2017.
@@ -16,8 +17,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2017-10-05 13:48+0000\n"
-"Last-Translator: Rabid Orange <theorangerabid@gmail.com>\n"
+"PO-Revision-Date: 2017-10-23 01:48+0000\n"
+"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
"Language: es\n"
@@ -25,7 +26,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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -382,9 +383,8 @@ msgid "No Matches"
msgstr "Sin soincidencias"
#: editor/code_editor.cpp
-#, fuzzy
msgid "Replaced %d occurrence(s)."
-msgstr "%d ocurrencias reemplazadas."
+msgstr "%d ocurrencia/s reemplazadas."
#: editor/code_editor.cpp
msgid "Replace"
@@ -1282,10 +1282,6 @@ msgid "File:"
msgstr "Archivo:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtro:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Debe ser una extensión válida."
@@ -1769,24 +1765,30 @@ msgstr "Elige una escena principal"
#: editor/editor_node.cpp
#, fuzzy
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "No se pudo activar el plugin addon en: '"
#: editor/editor_node.cpp
#, fuzzy
-msgid "' parsing of config failed."
-msgstr "' análisis de config fallido."
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
"No se pudo encontrar el campo del script para el plugin addon en: 'res://"
"addons/"
#: editor/editor_node.cpp
#, fuzzy
-msgid "Unable to load addon script from path: '"
+msgid "Unable to load addon script from path: '%s'."
+msgstr "No se pudo cargar el script addon desde la ruta: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "No se pudo cargar el script addon desde la ruta: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "No se pudo cargar el script addon desde la ruta: '"
#: editor/editor_node.cpp
@@ -2349,7 +2351,8 @@ msgid "Frame %"
msgstr "% de cuadro"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "% de cuadro fijo"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2396,7 +2399,7 @@ msgstr "No se pudo instanciar el script:"
#: editor/editor_run_script.cpp
msgid "Did you forget the 'tool' keyword?"
-msgstr "Te olvidaste de la palabra clave 'tool'?"
+msgstr "Has olvidado la palabra clave 'tool'?"
#: editor/editor_run_script.cpp
msgid "Couldn't run script:"
@@ -3266,19 +3269,16 @@ msgid "Resolving.."
msgstr "Guardando…"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Connecting.."
-msgstr "Conectar.."
+msgstr "Conectando.."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Requesting.."
-msgstr "Prueba"
+msgstr "Solicitando.."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Error making request"
-msgstr "¡Hubo un error al guardar el recurso!"
+msgstr "Error al realizar la solicitud"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Idle"
@@ -3289,9 +3289,8 @@ msgid "Retry"
msgstr "Reintente"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Download Error"
-msgstr "Abajo"
+msgstr "Error de Descarga"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
@@ -4111,7 +4110,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Advertencia"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4603,7 +4602,8 @@ msgstr "Step Into"
msgid "Break"
msgstr "Break"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Continuar"
@@ -4707,7 +4707,8 @@ msgid "Cut"
msgstr "Cortar"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Copiar"
@@ -5496,9 +5497,12 @@ msgid "Remove All"
msgstr "Quitar"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Theme"
-msgstr "Guardar tema"
+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"
@@ -5809,7 +5813,7 @@ msgstr "Exportar Tile Set"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "El archivo existe."
#: editor/project_manager.cpp
@@ -5954,6 +5958,12 @@ 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 ""
@@ -5987,6 +5997,11 @@ msgstr "Salir"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "Reiniciar (s):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "Conectar.."
@@ -6220,6 +6235,15 @@ msgstr "Quitar opción de remapeo de recursos"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Cambiar tiempo de mezcla"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Ajustes de proyecto (engine.cfg)"
@@ -6281,6 +6305,30 @@ msgid "Locale"
msgstr "Idioma"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Filtrado de imágenes:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Crear huesos"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtros"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Idioma"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "AutoLoad"
@@ -7975,6 +8023,17 @@ msgstr "Error al cargar la tipografía."
msgid "Invalid font size."
msgstr "Tamaño de tipografía incorrecto."
+#~ msgid "Filter:"
+#~ msgstr "Filtro:"
+
+#, fuzzy
+#~ msgid "' parsing of config failed."
+#~ msgstr "' análisis de config fallido."
+
+#, fuzzy
+#~ msgid "Theme"
+#~ msgstr "Guardar tema"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Lista de métodos Para '%s':"
@@ -8956,9 +9015,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Preview Atlas"
#~ msgstr "Vista previa del atlas"
-#~ msgid "Image Filter:"
-#~ msgstr "Filtrado de imágenes:"
-
#~ msgid "Images:"
#~ msgstr "Imágenes:"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index b4f035f991..3d0c4ee410 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -1,5 +1,6 @@
# Spanish (Argentina) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2017.
@@ -10,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2017-09-01 01:48+0000\n"
+"PO-Revision-Date: 2017-10-23 00:50+0000\n"
"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
@@ -19,7 +20,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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -655,9 +656,8 @@ msgstr ""
"Quitarlos de todos modos? (imposible deshacer)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Cannot remove:\n"
-msgstr "No se ha podido resolver."
+msgstr "No se puede remover:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -745,32 +745,31 @@ msgstr "Autores"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "Sponsor Platino"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "Sponsor Oro"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "Mini Sponsors"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "Donantes Oro"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "Donantes Plata"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "Clonar hacia Abajo"
+msgstr "Donantes Bronce"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "Donantes"
#: editor/editor_about.cpp
msgid "License"
@@ -896,9 +895,8 @@ msgid "Duplicate"
msgstr "Duplicar"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "Resetear el Zoom"
+msgstr "Resetear Volumen"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
@@ -921,9 +919,8 @@ msgid "Duplicate Audio Bus"
msgstr "Duplicar Bus de Audio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "Resetear el Zoom"
+msgstr "Resetear Volumen de Bus"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
@@ -1212,9 +1209,8 @@ msgid "Move Favorite Down"
msgstr "Bajar Favorito"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "No se pudo crear la carpeta."
+msgstr "Ir a carpeta padre"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1230,10 +1226,6 @@ msgid "File:"
msgstr "Archivo:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtro:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Debe ser una extensión válida."
@@ -1279,27 +1271,24 @@ msgid "Brief Description:"
msgstr "Descripción Breve:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "Miembros:"
+msgstr "Miembros"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "Miembros:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "Métodos Públicos:"
+msgstr "Métodos Públicos"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "Métodos Públicos:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "Items de Tema de la GUI:"
+msgstr "Items de Tema de la GUI"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1310,9 +1299,8 @@ msgid "Signals:"
msgstr "Señales:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "Enumeraciones:"
+msgstr "Enumeraciones"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1323,23 +1311,20 @@ msgid "enum "
msgstr "enum "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "Constantes:"
+msgstr "Constantes"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "Constantes:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "Descripción:"
+msgstr "Descripción"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "Propiedades:"
+msgstr "Propiedades"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1350,11 +1335,12 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Actualmente no existe descripción para esta propiedad. Por favor ayudanos "
+"[color=$color][url=$url]contribuyendo una[/url][/color]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "Lista de Métodos:"
+msgstr "Métodos"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1365,6 +1351,8 @@ msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Actualmente no existe descripción para este método. Por favor ayudanos "
+"[color=$color][url=$url]contribuyendo una[/url][/color]!"
#: editor/editor_help.cpp
msgid "Search Text"
@@ -1406,28 +1394,24 @@ msgid "Error while saving."
msgstr "Error al grabar."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "No se puede operar en '..'"
+msgstr "No se puede abrir '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while parsing '%s'."
-msgstr "Error al grabar."
+msgstr "Error parsear '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr ""
+msgstr "Final de archivo inesperado en '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "La escena '%s' tiene dependencias rotas:"
+msgstr "No se encuentra '%s' o sus dependecias."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "Error al grabar."
+msgstr "Error al cargar '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1494,18 +1478,26 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Este recurso pertenece a una escena que fue importada, por lo tanto no es "
+"editable.\n"
+"Por favor leé la documentación relevante a importar escenas para entender "
+"mejor este workflow."
#: 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 ""
+"Este recurso pertenece a una escena que fue instanciada o heredada.\n"
+"Los cambios que se le realicen no perduraran al guardar la escena actual."
#: 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 ""
+"Este recurso fue importado, por ende no es editable. Cambiá sus ajustes en "
+"el panel de importación y luego reimportá."
#: editor/editor_node.cpp
msgid ""
@@ -1514,6 +1506,11 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Esta escena fue importada, por ende los cambios que se le realicen no "
+"perduraran.\n"
+"Instanciá o hereda para poder realizar cambios.\n"
+"Por favor leé la documentación relevante a importar escenas para entender "
+"mejor este workflow."
#: editor/editor_node.cpp
msgid "Copy Params"
@@ -1694,27 +1691,39 @@ msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
+"Esta opción esta deprecada. Las situaciones donde se debe forzar un refresco "
+"son ahora consideradas bugs. Por favor reportalo."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
msgstr "Elegí una Escena Principal"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "No se pudo activar el plugin de addon en : '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' fallo el parseo de la configuración."
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
"No se pudo encontrar el campo script para el plugin de addon en: 'res://"
"addons/"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "No se pudo cargar el script de addon desde la ruta: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "No se pudo cargar el script de addon desde la ruta: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "No se pudo cargar el script de addon desde la ruta: '"
#: editor/editor_node.cpp
@@ -1745,9 +1754,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "La escena '%s' tiene dependencias rotas:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "Reestablecer Archivos Recientes"
+msgstr "Reestablecer Escenas Recientes"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -2122,9 +2130,8 @@ msgid "Object properties."
msgstr "Propiedades del objeto."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "Cambiar Grupo de Imágenes"
+msgstr "Podrían perderse los cambios!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2208,9 +2215,8 @@ msgid "Open the previous Editor"
msgstr "Abrir el Editor anterior"
#: editor/editor_plugin.cpp
-#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "Crear Librería de Meshes"
+msgstr "Creando Vistas Previas de Mesh/es"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2262,7 +2268,8 @@ msgid "Frame %"
msgstr "Frame %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "Fixed Frame %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2430,17 +2437,20 @@ msgstr "No se puede navegar a '"
#: editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails"
-msgstr ""
+msgstr "Ver items como una grilla de miniaturas"
#: editor/filesystem_dock.cpp
msgid "View items as a list"
-msgstr ""
+msgstr "Ver items como una lista"
#: editor/filesystem_dock.cpp
msgid ""
"\n"
"Status: Import of file failed. Please fix file and reimport manually."
msgstr ""
+"\n"
+"Estado: Fallo la importación del archivo. Por favor arreglá el archivo y "
+"reimportá manualmente."
#: editor/filesystem_dock.cpp
msgid ""
@@ -2451,57 +2461,48 @@ msgstr ""
"Fuente: "
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr "No se puede cargar/procesar la tipografía de origen."
+msgstr "No se puede mover/renombrar la raiz de recursos."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself.\n"
-msgstr "No se puede importar un archivo sobre si mismo:"
+msgstr "No se puede mover una carpeta dento de si misma.\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:\n"
-msgstr "Error al mover el directorio:\n"
+msgstr "Error al mover:\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Unable to update dependencies:\n"
-msgstr "La escena '%s' tiene dependencias rotas:"
+msgstr "No se pudieron actualizar las dependencias:\n"
#: editor/filesystem_dock.cpp
msgid "No name provided"
-msgstr ""
+msgstr "No se indicó ningún nombre"
#: editor/filesystem_dock.cpp
msgid "Provided name contains invalid characters"
-msgstr ""
+msgstr "El nombre indicado contiene caracteres inválidos"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "No name provided."
-msgstr "Renombrar o Mover.."
+msgstr "No se indicó ningún nombre."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Name contains invalid characters."
-msgstr "Caracteres válidos:"
+msgstr "El nombre indicado contiene caracteres inválidos."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "A file or folder with this name already exists."
-msgstr "El nombre de grupo ya existe!"
+msgstr "Un archivo o carpeta con este nombre ya existe."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming file:"
-msgstr "Renombrar Variable"
+msgstr "Renombrando archivo:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming folder:"
-msgstr "Renombrar Nodo"
+msgstr "Renombrar carpeta:"
#: editor/filesystem_dock.cpp
msgid "Expand all"
@@ -2516,18 +2517,16 @@ msgid "Copy Path"
msgstr "Copiar Ruta"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Rename.."
-msgstr "Renombrar"
+msgstr "Renombrar.."
#: editor/filesystem_dock.cpp
msgid "Move To.."
msgstr "Mover A.."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Folder.."
-msgstr "Crear Carpeta"
+msgstr "Nueva Carpeta.."
#: editor/filesystem_dock.cpp
msgid "Show In File Manager"
@@ -2596,9 +2595,8 @@ msgid "Import as Single Scene"
msgstr "Importar como Escena Única"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Animations"
-msgstr "Importar con Materiales Separados"
+msgstr "Importar con Animaciones Separadas"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
@@ -2613,19 +2611,16 @@ msgid "Import with Separate Objects+Materials"
msgstr "Importar con Objetos+Materiales Separados"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Objects+Animations"
-msgstr "Importar con Objetos+Materiales Separados"
+msgstr "Importar con Objetos+Animaciones Separados"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Materials+Animations"
-msgstr "Importar con Materiales Separados"
+msgstr "Importar con Materiales+Animaciones Separados"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Objects+Materials+Animations"
-msgstr "Importar con Objetos+Materiales Separados"
+msgstr "Importar con Objetos+Materiales+Animaciones Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
@@ -2712,9 +2707,8 @@ msgid "Edit Poly"
msgstr "Editar Polígono"
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Insert Point"
-msgstr "Insertando"
+msgstr "Insertar Punto"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3279,14 +3273,12 @@ msgid "Edit CanvasItem"
msgstr "Editar CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Anchors only"
-msgstr "Anchor"
+msgstr "Solo anclas"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Anchors and Margins"
-msgstr "Cambiar Anclas"
+msgstr "Cambiar Anclas y Márgenes"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
@@ -3344,9 +3336,8 @@ msgid "Pan Mode"
msgstr "Modo Paneo"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggles snapping"
-msgstr "Act/Desact. Breakpoint"
+msgstr "Act/Desact. alineado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3354,23 +3345,20 @@ msgid "Use Snap"
msgstr "Usar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snapping options"
-msgstr "Opciones de Animación"
+msgstr "Opciones de alineado"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to grid"
-msgstr "Modo Snap:"
+msgstr "Alinear a la grilla"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
msgstr "Usar Snap de Rotación"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Configure Snap..."
-msgstr "Configurar Snap.."
+msgstr "Configurar alineado.."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
@@ -3382,24 +3370,23 @@ msgstr "Usar Pixel Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Smart snapping"
-msgstr ""
+msgstr "Alineado inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to parent"
-msgstr "Expandir al Padre"
+msgstr "Alinear al Padre"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to node anchor"
-msgstr ""
+msgstr "Alinear al ancla de nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to node sides"
-msgstr ""
+msgstr "Alinear a lados de nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
-msgstr ""
+msgstr "Alinear a otros nodos"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
@@ -3448,14 +3435,12 @@ msgid "Show Grid"
msgstr "Mostrar la Grilla"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show helpers"
-msgstr "Mostrar Huesos"
+msgstr "Mostrar ayudantes"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show rulers"
-msgstr "Mostrar Huesos"
+msgstr "Mostrar reglas"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3466,9 +3451,8 @@ msgid "Frame Selection"
msgstr "Encuadrar Selección"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "Guardar Layout"
+msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Keys"
@@ -3492,20 +3476,19 @@ msgstr "Reestablecer Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag pivot from mouse position"
-msgstr ""
+msgstr "Arrastrar pivote desde la posición del mouse"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Set pivot at mouse position"
-msgstr "Setear Pos. Out de Curva"
+msgstr "Setear pivote a la posición del mouse"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
-msgstr ""
+msgstr "Multiplicar ingremento de grilla por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Divide grid step by 2"
-msgstr ""
+msgstr "Dividir incremento de grilla por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -3584,25 +3567,23 @@ msgstr "Acutalizar desde Escena"
#: 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
-#, fuzzy
msgid "Ease in"
-msgstr "Ease In"
+msgstr "Ease in"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Ease out"
-msgstr "Ease Out"
+msgstr "Ease out"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr ""
+msgstr "Smoothstep"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Point"
@@ -3931,73 +3912,65 @@ msgid "Bake!"
msgstr "Hacer Bake!"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Bake the navigation mesh.\n"
-msgstr "Crear Mesh de Navegación"
+msgstr "Hacer bake de mesh de navegación.\n"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Clear the navigation mesh."
-msgstr "Crear Mesh de Navegación"
+msgstr "Reestablecer mesh de navegación."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Setting up Configuration..."
-msgstr ""
+msgstr "Seteando Configuración..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Calculating grid size..."
-msgstr ""
+msgstr "Calculando tamaño de grilla..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating heightfield..."
-msgstr "Creando Octree de Luces"
+msgstr "Creando campo de alturas..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Marking walkable triangles..."
-msgstr "Strings Traducibles.."
+msgstr "Marcando triangulos caminables..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Constructing compact heightfield..."
-msgstr ""
+msgstr "Construyendo campo de alturas compacto..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Eroding walkable area..."
-msgstr ""
+msgstr "Erocionando area caminable..."
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
-msgstr "Advertencia"
+msgid "Partitioning..."
+msgstr "Particionando..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating contours..."
-msgstr "Creando Octree de Texturas"
+msgstr "Creando contornos..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating polymesh..."
-msgstr "Crear Outline Mesh.."
+msgstr "Creando polymesh..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Converting to native navigation mesh..."
-msgstr "Crear Mesh de Navegación"
+msgstr "Convirtiendo a mesh de navegación nativa..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Navigation Mesh Generator Setup:"
-msgstr ""
+msgstr "Setup de Generador de Meshes de Navegación:"
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Parsing Geometry..."
-msgstr "Parseando Geometría"
+msgstr "Parseando Geometría..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Done!"
-msgstr ""
+msgstr "Hecho!"
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
@@ -4175,19 +4148,16 @@ msgid "Curve Point #"
msgstr "Punto # de Curva"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Point Position"
-msgstr "Setear Pos. de Punto de Curva"
+msgstr "Setear Posición de Punto de Curva"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve In Position"
-msgstr "Setear Pos. In de Curva"
+msgstr "Setear Posición de Entrada de Curva"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Out Position"
-msgstr "Setear Pos. Out de Curva"
+msgstr "Setear Posición de Salida de Curva"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
@@ -4436,7 +4406,8 @@ msgstr "Step Into"
msgid "Break"
msgstr "Break"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Continuar"
@@ -4534,7 +4505,8 @@ msgid "Cut"
msgstr "Cortar"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Copiar"
@@ -5209,14 +5181,12 @@ msgid "Insert Empty (After)"
msgstr "Insertar Vacío (Después)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (Before)"
-msgstr "Mover Nodo(s)"
+msgstr "Mover (Antes)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (After)"
-msgstr "Mover a la Izquierda"
+msgstr "Mover (Despues)"
#: editor/plugins/style_box_editor_plugin.cpp
msgid "StyleBox Preview:"
@@ -5292,8 +5262,12 @@ msgid "Remove All"
msgstr "Quitar Todos"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+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"
@@ -5429,9 +5403,8 @@ msgid "Mirror Y"
msgstr "Espejar Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Paint Tile"
-msgstr "Pintar TileMap"
+msgstr "Pintar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -5494,9 +5467,10 @@ msgid "Delete preset '%s'?"
msgstr "Eliminar preset '%s'?"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Faltan las plantillas de exportación para esta plataforma:"
+msgstr ""
+"Las plantillas de exportación para esta plataforma estan faltando o "
+"corruptas: "
#: editor/project_export.cpp
msgid "Presets"
@@ -5573,33 +5547,35 @@ msgid "Export templates for this platform are missing:"
msgstr "Faltan las plantillas de exportación para esta plataforma:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Faltan las plantillas de exportación para esta plataforma:"
+msgstr ""
+"Las plantillas de exportación para esta plataforma estan faltando o "
+"corruptas:"
#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "Exportar Como Debug"
#: editor/project_manager.cpp
-#, fuzzy
-msgid "The path does not exists."
-msgstr "El archivo existe."
+msgid "The path does not exist."
+msgstr "La ruta no existe."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Please choose a 'project.godot' file."
-msgstr "Por favor exportá afuera de la carpeta de proyecto!"
+msgstr "Por favor elegí un archivo '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 ""
+"Tu proyecto será creado en una carpeta no vacía (podrías preferir crear una "
+"carpeta nueva)."
#: editor/project_manager.cpp
msgid "Please choose a folder that does not contain a 'project.godot' file."
msgstr ""
+"Por favor elegí una carpeta que no contenga un archivo 'project.godot'."
#: editor/project_manager.cpp
msgid "Imported Project"
@@ -5607,25 +5583,23 @@ msgstr "Proyecto Importado"
#: editor/project_manager.cpp
msgid " "
-msgstr ""
+msgstr " "
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
-msgstr ""
+msgstr "Sería buena idea darle un nombre a tu proyecto."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
msgstr "Ruta de proyecto inválida (cambiaste algo?)."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in project path."
-msgstr "No se pudo crear project.godot en la ruta de proyecto."
+msgstr "No se pudo obtener project.godot en la ruta de proyecto."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't edit project.godot in project path."
-msgstr "No se pudo crear project.godot en la ruta de proyecto."
+msgstr "No se pudo editar project.godot en la ruta de proyecto."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -5636,14 +5610,12 @@ msgid "The following files failed extraction from package:"
msgstr "Los siguientes archivos no se pudieron extraer del paquete:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Rename Project"
-msgstr "Proyecto Sin Nombre"
+msgstr "Renombrar Proyecto"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in the project path."
-msgstr "No se pudo crear project.godot en la ruta de proyecto."
+msgstr "No se pudo obtener project.godot en la ruta de proyecto."
#: editor/project_manager.cpp
msgid "New Game Project"
@@ -5666,9 +5638,8 @@ msgid "Project Name:"
msgstr "Nombre del Proyecto:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Create folder"
-msgstr "Crear Carpeta"
+msgstr "Crear carpeta"
#: editor/project_manager.cpp
msgid "Project Path:"
@@ -5687,9 +5658,8 @@ msgid "Unnamed Project"
msgstr "Proyecto Sin Nombre"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Can't open project"
-msgstr "No se puede ejecutar el proyecto"
+msgstr "No se pudo abrir el proyecto"
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
@@ -5726,6 +5696,12 @@ 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 ""
@@ -5757,6 +5733,11 @@ msgid "Exit"
msgstr "Salir"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "Reiniciar (s):"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "No se puede ejecutar el proyecto"
@@ -5914,9 +5895,8 @@ msgid "Add Global Property"
msgstr "Agregar Propiedad Global"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Select a setting item first!"
-msgstr "Selecciona un ítem de configuración primero!"
+msgstr "Selecciona un ítem primero!"
#: editor/project_settings_editor.cpp
msgid "No property '"
@@ -5931,14 +5911,12 @@ msgid "Delete Item"
msgstr "Eliminar Ãtem"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Can't contain '/' or ':'"
-msgstr "No se puede conectar al host:"
+msgstr "No puede contener '/' o ':'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Already existing"
-msgstr "Act/Desact. Persistente"
+msgstr "Ya existe"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
@@ -5981,6 +5959,15 @@ msgid "Remove Resource Remap Option"
msgstr "Remover Opción de Remapeo de Recursos"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Cambiar Tiempo de Blend"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
msgstr "Configuración de Proyecto (project.godot)"
@@ -6041,6 +6028,30 @@ msgid "Locale"
msgstr "Locale"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Filtro de Imágenes:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Mostrar Huesos"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtrar nodos"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Locale"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "AutoLoad"
@@ -6089,18 +6100,16 @@ msgid "New Script"
msgstr "Nuevo Script"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Make Unique"
-msgstr "Crear Huesos"
+msgstr "Convertir en Unico"
#: editor/property_editor.cpp
msgid "Show in File System"
msgstr "Mostrar en Sistema de Archivos"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Convert To %s"
-msgstr "Convertir A.."
+msgstr "Convertir A %s"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
@@ -6139,9 +6148,8 @@ msgid "Select Property"
msgstr "Seleccionar Propiedad"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Virtual Method"
-msgstr "Seleccionar Método"
+msgstr "Seleccionar Método Virtual"
#: editor/property_selector.cpp
msgid "Select Method"
@@ -6496,12 +6504,11 @@ msgstr "Ruta base inválida"
#: editor/script_create_dialog.cpp
msgid "Directory of the same name exists"
-msgstr ""
+msgstr "Existe un directorio con el mismo nombre"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, will be reused"
-msgstr "El Archivo Existe, Sobreescribir?"
+msgstr "El archivo existe, será reutilizado"
#: editor/script_create_dialog.cpp
msgid "Invalid extension"
@@ -6589,7 +6596,7 @@ msgstr "Funcion:"
#: editor/script_editor_debugger.cpp
msgid "Pick one or more items from the list to display the graph."
-msgstr ""
+msgstr "Elegir uno o mas items de la lista para mostrar el gráfico."
#: editor/script_editor_debugger.cpp
msgid "Errors"
@@ -6752,22 +6759,20 @@ msgid "Change Probe Extents"
msgstr "Cambiar Extensión de Sonda"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Library"
-msgstr "MeshLibrary.."
+msgstr "Biblioteca"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Status"
-msgstr "Estado:"
+msgstr "Estado"
#: modules/gdnative/gd_native_library_editor.cpp
msgid "Libraries: "
-msgstr ""
+msgstr "Bibliotecas: "
#: modules/gdnative/register_types.cpp
msgid "GDNative"
-msgstr ""
+msgstr "GDNative"
#: modules/gdscript/gd_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -6832,14 +6837,12 @@ msgid "Snap View"
msgstr "Anclar Vista"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Prev Level (%sDown Wheel)"
-msgstr "Nivel Prev. ("
+msgstr "Nivel Previo (%sRueda Abajo)"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Next Level (%sUp Wheel)"
-msgstr "Nivel Anterior ("
+msgstr "Nivel Siguiente (%sRueda Arriba)"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Disabled"
@@ -6923,7 +6926,7 @@ msgstr "Elegir Instancia:"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "Builds"
-msgstr ""
+msgstr "Builds"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -7132,7 +7135,7 @@ msgstr "Obtener"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
-msgstr ""
+msgstr "El script ya tiene una función '%s'"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Input Value"
@@ -7554,6 +7557,8 @@ msgid ""
"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
"it as a child of a VehicleBody."
msgstr ""
+"VehicleWheel sirve para proveer un sistema de ruedas a VehicleBody. Por "
+"favor usálo como hijo de VehicleBody."
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
@@ -7631,6 +7636,15 @@ msgstr "Error cargando tipografía."
msgid "Invalid font size."
msgstr "Tamaño de tipografía inválido."
+#~ msgid "Filter:"
+#~ msgstr "Filtro:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' falló el parseo de la configuración."
+
+#~ msgid "Theme"
+#~ msgstr "Tema"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Lista de Métodos Para '%s':"
@@ -8577,9 +8591,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Preview Atlas"
#~ msgstr "Vista Previa de Atlas"
-#~ msgid "Image Filter:"
-#~ msgstr "Filtro de Imágenes:"
-
#~ msgid "Images:"
#~ msgstr "Imágenes:"
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index 6ee3ccb17e..87e473d49c 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -1,5 +1,6 @@
# Persian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# alabd14313 <alabd14313@yahoo.com>, 2016.
@@ -1233,10 +1234,6 @@ msgid "File:"
msgstr "پرونده:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "صاÙÛŒ:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "باید از یک پسوند معتبر استÙاده شود."
@@ -1691,19 +1688,25 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2231,7 +2234,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3910,7 +3913,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4373,7 +4376,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4469,7 +4473,8 @@ msgid "Cut"
msgstr "بریدن"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "کپی کردن"
@@ -5232,7 +5237,11 @@ msgid "Remove All"
msgstr "برداشتن"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5522,7 +5531,7 @@ msgstr ""
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "پرونده موجود نیست."
#: editor/project_manager.cpp
@@ -5653,6 +5662,12 @@ 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 ""
@@ -5685,6 +5700,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "در حال اتصال..."
@@ -5911,6 +5930,15 @@ msgid "Remove Resource Remap Option"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 ""
@@ -5971,6 +5999,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "صاÙÛŒ:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7576,6 +7625,9 @@ msgstr "خطای بارگذاری قلم."
msgid "Invalid font size."
msgstr "اندازه‌ی قلم نامعتبر."
+#~ msgid "Filter:"
+#~ msgstr "صاÙÛŒ:"
+
#~ msgid "Method List For '%s':"
#~ msgstr "لیست متد برای 's%' :"
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index 170a487e54..12cafa85fc 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -1,5 +1,6 @@
# Finnish translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# ekeimaja <ekeimaja@gmail.com>, 2017.
@@ -1241,10 +1242,6 @@ msgid "File:"
msgstr "Tiedosto:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Suodatin:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Must use a valid extension."
msgstr "Käytä sopivaa laajennusta"
@@ -1716,19 +1713,25 @@ msgid "Pick a Main Scene"
msgstr "Valitse pääscene"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Virhe ladattaessa skripti %s:stä"
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2267,7 +2270,8 @@ msgid "Frame %"
msgstr "Frame %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "Kiinteä Frame %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3968,7 +3972,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Varoitus"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4443,7 +4447,8 @@ msgstr ""
msgid "Break"
msgstr "Keskeytä"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Jatka"
@@ -4543,7 +4548,8 @@ msgid "Cut"
msgstr "Leikkaa"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopioi"
@@ -5324,8 +5330,12 @@ msgid "Remove All"
msgstr "Poista"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Teema"
+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"
@@ -5618,7 +5628,7 @@ msgstr "Vie debugaten"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Tiedostoa ei ole olemassa."
#: editor/project_manager.cpp
@@ -5756,6 +5766,12 @@ 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 ""
@@ -5787,6 +5803,11 @@ msgstr "Poistu"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "Käynnistä uudelleen (s):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "Yhdistä..."
@@ -6013,6 +6034,15 @@ msgstr ""
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Muuta kameran kokoa"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Projektin asetukset"
@@ -6073,6 +6103,29 @@ msgid "Locale"
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Locales Filter"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Näytä luut"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Suodattimet"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Skaalaus:"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7608,6 +7661,12 @@ msgstr "Virhe fontin latauksessa."
msgid "Invalid font size."
msgstr "Virheellinen fonttikoko."
+#~ msgid "Filter:"
+#~ msgstr "Suodatin:"
+
+#~ msgid "Theme"
+#~ msgstr "Teema"
+
#~ msgid "Arguments:"
#~ msgstr "Argumentit:"
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index d484d50ffe..9e2f80498d 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -1,5 +1,6 @@
# French translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Antoine Carrier <ac.g392@gmail.com>, 2017.
@@ -17,6 +18,7 @@
# Onyx Steinheim <thevoxelmanonyx@gmail.com>, 2016.
# rafeu <duchainer@gmail.com>, 2016-2017.
# Rémi Verschelde <rverschelde@gmail.com>, 2016-2017.
+# Robin Arys <robinarys@hotmail.com>, 2017.
# Roger BR <drai_kin@hotmail.com>, 2016.
# Thomas Baijot <thomasbaijot@gmail.com>, 2016.
#
@@ -24,8 +26,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2017-09-25 10:46+0000\n"
-"Last-Translator: keltwookie <keltwookie@protonmail.com>\n"
+"PO-Revision-Date: 2017-10-25 22:46+0000\n"
+"Last-Translator: Robin Arys <robinarys@hotmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -33,7 +35,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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -737,11 +739,11 @@ msgstr "La communauté Godot vous dit merci !"
#: editor/editor_about.cpp
msgid "Thanks!"
-msgstr "Merci !"
+msgstr "Merci!"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
-msgstr "Contributeurs Godot Engine"
+msgstr "Contributeurs de Godot Engine"
#: editor/editor_about.cpp
msgid "Project Founders"
@@ -1242,16 +1244,12 @@ msgstr "Répertoires et fichiers :"
#: editor/editor_file_dialog.cpp
msgid "Preview:"
-msgstr "Aperçu :"
+msgstr "Aperçu:"
#: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp
#: scene/gui/file_dialog.cpp
msgid "File:"
-msgstr "Fichier :"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtre :"
+msgstr "Fichier:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
@@ -1336,7 +1334,7 @@ msgstr "Recensements :"
#: editor/editor_help.cpp
msgid "Enumerations:"
-msgstr "Recensements :"
+msgstr "Recensements:"
#: editor/editor_help.cpp
msgid "enum "
@@ -1392,7 +1390,7 @@ msgstr "Chercher du texte"
#: editor/editor_log.cpp
msgid "Output:"
-msgstr "Sortie :"
+msgstr "Sortie:"
#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
#: editor/property_editor.cpp editor/script_editor_debugger.cpp
@@ -1724,20 +1722,30 @@ msgid "Pick a Main Scene"
msgstr "Choisir une scène principale"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "impossible d'activer le plugin depuis :"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "L'analyse de la configuration a échoué."
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
"Impossible de trouver le champ de script pour le plugin dans : 'res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Impossible de charger le script d'ajout depuis le chemin :"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "Impossible de charger le script d'ajout depuis le chemin :"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "Impossible de charger le script d'ajout depuis le chemin :"
#: editor/editor_node.cpp
@@ -1795,11 +1803,11 @@ msgstr "%d fichier(s) supplémentaire(s)"
#: editor/editor_node.cpp
msgid "%d more file(s) or folder(s)"
-msgstr "%s fichier(s) ou dossier(s) supplémentaire(s)"
+msgstr "%d fichier(s) ou dossier(s) supplémentaire(s)"
#: editor/editor_node.cpp
msgid "Distraction Free Mode"
-msgstr "Mode sans distraction"
+msgstr "Mode Sans Distraction"
#: editor/editor_node.cpp
msgid "Toggle distraction-free mode."
@@ -2286,7 +2294,8 @@ msgid "Frame %"
msgstr "% d'image"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "Frame fixe %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3998,7 +4007,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Avertissement"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4464,7 +4473,8 @@ msgstr "Rentrer"
msgid "Break"
msgstr "Mettre en pause"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Continuer"
@@ -4562,7 +4572,8 @@ msgid "Cut"
msgstr "Couper"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Copier"
@@ -5320,8 +5331,12 @@ msgid "Remove All"
msgstr "Supprimer tout"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Thème"
+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"
@@ -5611,7 +5626,7 @@ msgstr "Exporter avec debug"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Le fichier n'existe pas."
#: editor/project_manager.cpp
@@ -5752,6 +5767,12 @@ 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 ""
@@ -5783,6 +5804,11 @@ msgid "Exit"
msgstr "Quitter"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "Redémarrer (s) :"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "Impossible de lancer le projet"
@@ -6007,6 +6033,15 @@ msgid "Remove Resource Remap Option"
msgstr "Supprimer option de remap de ressource"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Changer le temps de mélange"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
msgstr "Paramètres du projet (project.godot)"
@@ -6067,6 +6102,30 @@ msgid "Locale"
msgstr "Langue"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Filtre d'image :"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Afficher les os"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtrer les noeuds"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Langue"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "AutoLoad"
@@ -7667,6 +7726,15 @@ msgstr "Erreur lors du chargement de la police."
msgid "Invalid font size."
msgstr "Taille de police invalide."
+#~ msgid "Filter:"
+#~ msgstr "Filtre:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "L'analyse de la configuration a échoué."
+
+#~ msgid "Theme"
+#~ msgstr "Thème"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Liste des méthodes pour « %s » :"
@@ -8608,9 +8676,6 @@ msgstr "Taille de police invalide."
#~ msgid "Preview Atlas"
#~ msgstr "Aperçu de l'atlas"
-#~ msgid "Image Filter:"
-#~ msgstr "Filtre d'image :"
-
#~ msgid "Images:"
#~ msgstr "Images :"
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 38444d19d3..07457b4692 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -1,5 +1,6 @@
# Hungarian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Varga Dániel <danikah.danikah@gmail.com>, 2016.
@@ -1202,10 +1203,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1645,19 +1642,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -2176,7 +2178,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3821,7 +3823,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4279,7 +4281,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4373,7 +4376,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5126,7 +5130,11 @@ msgid "Remove All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5409,7 +5417,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5537,6 +5545,12 @@ 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 ""
@@ -5566,6 +5580,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5787,6 +5805,14 @@ 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 ""
@@ -5847,6 +5873,26 @@ 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 ""
diff --git a/editor/translations/id.po b/editor/translations/id.po
index aa57d09136..06fc7eb599 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -1,5 +1,6 @@
# Indonesian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Abdul Aziz Muslim Alqudsy <abdul.aziz.muslim.alqudsy@gmail.com>, 2016.
@@ -1263,10 +1264,6 @@ msgid "File:"
msgstr "File:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filter:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Harus menggunakan ekstensi yang sah."
@@ -1742,19 +1739,25 @@ msgid "Pick a Main Scene"
msgstr "Pilih sebuah Scene Utama"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Error memuat font."
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2287,7 +2290,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3974,7 +3977,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4437,7 +4440,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4533,7 +4537,8 @@ msgid "Cut"
msgstr "Potong"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopy"
@@ -5300,7 +5305,11 @@ msgid "Remove All"
msgstr "Hapus"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5592,7 +5601,7 @@ msgstr "Ekspor Tile Set"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "File tidak ada."
#: editor/project_manager.cpp
@@ -5730,6 +5739,12 @@ 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 ""
@@ -5760,6 +5775,10 @@ msgid "Exit"
msgstr "Keluar"
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Menyambungkan.."
@@ -5988,6 +6007,15 @@ msgid "Remove Resource Remap Option"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Ganti Ukuran Kamera"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
msgstr ""
@@ -6048,6 +6076,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filter:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7666,6 +7715,9 @@ msgstr "Error memuat font."
msgid "Invalid font size."
msgstr "Ukuran font tidak sah."
+#~ msgid "Filter:"
+#~ msgstr "Filter:"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Daftar Fungsi Untuk '%s':"
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 01a7ddfd49..45c48d6ac4 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -1,9 +1,11 @@
# Italian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Dario Bonfanti <bonfi.96@hotmail.it>, 2016-2017.
# dariocavada <cavada@ectrlsolutions.com>, 2017.
+# Giovanni Solimeno (Crax97) <gsolimeno97@gmail.com>, 2017.
# Marco Melorio <m.melorio@icloud.com>, 2017.
# RealAquilus <JamesHeller@live.it>, 2017.
#
@@ -11,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2017-10-09 18:46+0000\n"
+"PO-Revision-Date: 2017-10-23 16:46+0000\n"
"Last-Translator: Dario Bonfanti <bonfi.96@hotmail.it>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
@@ -20,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -658,9 +660,8 @@ msgstr ""
"Rimuoverli comunque? (no undo)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Cannot remove:\n"
-msgstr "Impossibile risolvete."
+msgstr "Impossibile rimouvere:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -688,7 +689,7 @@ msgstr "Errori in caricamento!"
#: editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr "Elimina permanentemente %d elementi? (No undo!)"
+msgstr "Eliminare permanentemente %d elementi? (No undo!)"
#: editor/dependency_editor.cpp
msgid "Owns"
@@ -696,7 +697,7 @@ msgstr "Possiede"
#: editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
-msgstr "Risorse Senza Proprietà Esplicita:"
+msgstr "Risorse Non Possedute Esplicitamente:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
@@ -747,32 +748,31 @@ msgstr "Autori"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "Sponsors Platino"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "Sponsors Oro"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "Sponsors Mini"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "Donatori Oro"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "Sponsors Argento"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "Clona Sotto"
+msgstr "Donatori Bronzo"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "Donatori"
#: editor/editor_about.cpp
msgid "License"
@@ -808,7 +808,7 @@ msgstr "Licenze"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Error opening package file, not in zip format."
-msgstr "Errore aprendo il pacchetto file, non è un formato di tipo zip."
+msgstr "Errore nell'apertura del package, non in formato zip."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -882,7 +882,7 @@ msgstr "Solo"
#: editor/editor_audio_buses.cpp
msgid "Mute"
-msgstr "Mute"
+msgstr "Muto"
#: editor/editor_audio_buses.cpp
msgid "Bypass"
@@ -898,9 +898,8 @@ msgid "Duplicate"
msgstr "duplica"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "Resetta Zoom"
+msgstr "Ripristina Volume"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
@@ -923,9 +922,8 @@ msgid "Duplicate Audio Bus"
msgstr "Duplica bus audio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "Resetta Zoom"
+msgstr "Ripristina Volume del Bus"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
@@ -937,7 +935,7 @@ msgstr "Salva Layout Bus Audio Come..."
#: editor/editor_audio_buses.cpp
msgid "Location for New Layout.."
-msgstr "Posizione per Nuovo Layout..."
+msgstr "Posizione per Nuovo Layout.."
#: editor/editor_audio_buses.cpp
msgid "Open Audio Bus Layout"
@@ -1214,9 +1212,8 @@ msgid "Move Favorite Down"
msgstr "Sposta Preferito Giù"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "Impossibile creare cartella."
+msgstr "Vai nella cartella padre"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1232,10 +1229,6 @@ msgid "File:"
msgstr "File:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtro:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Necessaria un'estensione valida."
@@ -1281,27 +1274,24 @@ msgid "Brief Description:"
msgstr "Breve Descrizione:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "Membri:"
+msgstr "Membri"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "Membri:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "Metodi Pubblici:"
+msgstr "Metodi Pubblici"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "Metodi Pubblici:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "Elementi Tema GUI:"
+msgstr "Elementi Tema GUI"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1312,9 +1302,8 @@ msgid "Signals:"
msgstr "Segnali:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "Enumerazioni:"
+msgstr "Enumerazioni"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1325,23 +1314,20 @@ msgid "enum "
msgstr "enum "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "Costanti:"
+msgstr "Costanti"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "Costanti:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "Descrizione:"
+msgstr "Descrizione"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "Proprietà:"
+msgstr "Proprietà"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1352,11 +1338,12 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Al momento una descrizione per questa proprietà non esiste. Aiutaci [color="
+"$color][url=$url]aggiungendone una[/url][/color]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "Lista Metodi:"
+msgstr "Metodi"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1367,6 +1354,8 @@ msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Al momento una descrizione per questo metodo non esiste. Aiutaci [color="
+"$color][url=$url]aggiungendone una[/url][/color]!"
#: editor/editor_help.cpp
msgid "Search Text"
@@ -1408,28 +1397,24 @@ msgid "Error while saving."
msgstr "Errore durante il salvataggio."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "Non posso operare su '..'"
+msgstr "Impossibile aprire '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while parsing '%s'."
-msgstr "Errore durante il salvataggio."
+msgstr "Errore durante l'elaborazione di '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr ""
+msgstr "Fine file '%s' non prevista."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "La scena '%s' ha rotto le dipendenze:"
+msgstr "'%s' mancante o dipendenze mancanti."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "Errore durante il salvataggio."
+msgstr "Errore durante il caricamento di '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1497,18 +1482,26 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Questa risorsa appartiene a una scena che è stata importata, di conseguenza "
+"non è modificabile.\n"
+"Si consiglia di leggere la documentazione riguardante l'importazione delle "
+"scene per comprendere al meglio questo workflow."
#: 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 ""
+"Questa risorsa appartiene a una scena istanziata o ereditata.\n"
+"Le modifiche ad essa non verranno mantenute salvando la scena corrente."
#: 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 ""
+"Questa risorsa è stata importata, non è quindi modificabile. Modificane le "
+"impostazioni nel pannello di importazione e re-importala."
#: editor/editor_node.cpp
msgid ""
@@ -1517,6 +1510,11 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Questa scena é stata importata, pertanto i cambiamenti ad essa non verranno "
+"mantenuti.\n"
+"Istanziarla o ereditarla consentirà di effettuare dei cambiamenti.\n"
+"Si conaiglia di leggere la documentazione relativa all'importazione delle "
+"scene per comprendere meglio questo workflow."
#: editor/editor_node.cpp
msgid "Copy Params"
@@ -1696,26 +1694,38 @@ msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
+"Questa opzione é deprecata. Situazioni dove un refresh é obbligatorio sono "
+"ora considerate come bug. Si prega di effettuare un report."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
msgstr "Scegli una Scena Principale"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "Non riesco ad abilitare il plugin aggiunto a: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' fallita lettura della configurazione."
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
"Impossibile trovare il campo per lo script aggiuntivo in: 'res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Impossibile caricare uno script aggiuntivo dal percorso: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "Impossibile caricare uno script aggiuntivo dal percorso: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "Impossibile caricare uno script aggiuntivo dal percorso: '"
#: editor/editor_node.cpp
@@ -1746,9 +1756,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "La scena '%s' ha rotto le dipendenze:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "Elimina File recenti"
+msgstr "Rimuovi Scene Recenti"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -2122,9 +2131,8 @@ msgid "Object properties."
msgstr "Proprietà oggetto."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "Cambia Gruppo Immagine"
+msgstr "I cambiamenti potrebbero essere persi!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2208,9 +2216,8 @@ msgid "Open the previous Editor"
msgstr "Apri l'Editor precedente"
#: editor/editor_plugin.cpp
-#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "Creazione Libreria Mesh"
+msgstr "Creazione Anteprime Mesh"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2262,7 +2269,8 @@ msgid "Frame %"
msgstr "Frame %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "Frame Fisso %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2430,17 +2438,20 @@ msgstr "Impossibile navigare a '"
#: editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails"
-msgstr ""
+msgstr "Visualizza elementi come una griglia di miniature"
#: editor/filesystem_dock.cpp
msgid "View items as a list"
-msgstr ""
+msgstr "Visualizza elementi come una lista"
#: editor/filesystem_dock.cpp
msgid ""
"\n"
"Status: Import of file failed. Please fix file and reimport manually."
msgstr ""
+"\n"
+"Stato: Importazione file fallita. Si prega di sistemare il file e "
+"reimportarlo manualmente."
#: editor/filesystem_dock.cpp
msgid ""
@@ -2451,57 +2462,48 @@ msgstr ""
"Sorgente: "
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr "Impossibile caricare/processare il font sorgente."
+msgstr "Impossibile spostare/rinominare risorse root."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself.\n"
-msgstr "Impossibile importare un file su se stesso:"
+msgstr "Impossibile spostare una cartella in se stessa.\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:\n"
-msgstr "Errore spostamento directory:\n"
+msgstr "Errore spostamento:\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Unable to update dependencies:\n"
-msgstr "La scena '%s' ha rotto le dipendenze:"
+msgstr "Impossibile aggiornare le dipendenze:\n"
#: editor/filesystem_dock.cpp
msgid "No name provided"
-msgstr ""
+msgstr "Nessun nome fornito"
#: editor/filesystem_dock.cpp
msgid "Provided name contains invalid characters"
-msgstr ""
+msgstr "Il nome fornito contiene caratteri non validi"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "No name provided."
-msgstr "Rinomina o Sposta.."
+msgstr "Nessun nome fornito."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Name contains invalid characters."
-msgstr "Caratteri validi:"
+msgstr "Il nome contiene caratteri non validi."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "A file or folder with this name already exists."
-msgstr "Il nome del gruppo è già esistente!"
+msgstr "Un file o cartella con questo nome é già esistente."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming file:"
-msgstr "Rinomina Variabile"
+msgstr "Rinomina file:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming folder:"
-msgstr "Rinomina Nodo"
+msgstr "Rinomina cartella:"
#: editor/filesystem_dock.cpp
msgid "Expand all"
@@ -2516,18 +2518,16 @@ msgid "Copy Path"
msgstr "Copia Percorso"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Rename.."
-msgstr "Rinomina"
+msgstr "Rinomina.."
#: editor/filesystem_dock.cpp
msgid "Move To.."
msgstr "Sposta in.."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Folder.."
-msgstr "Crea Cartella"
+msgstr "Nuova Cartella.."
#: editor/filesystem_dock.cpp
msgid "Show In File Manager"
@@ -2595,9 +2595,8 @@ msgid "Import as Single Scene"
msgstr "Importa come Scena Singola"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Animations"
-msgstr "Importa con Materiali Separati"
+msgstr "Importa con Animazioni Separate"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
@@ -3969,7 +3968,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Avvertimento"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4438,7 +4437,8 @@ msgstr "Step Into"
msgid "Break"
msgstr "Break"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Continua"
@@ -4537,7 +4537,8 @@ msgid "Cut"
msgstr "Taglia"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Copia"
@@ -5030,7 +5031,7 @@ msgstr "Allinea Selezione Con Vista"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Tool Select"
-msgstr "Strumento Selezione"
+msgstr "Strumento Seleziona"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Tool Move"
@@ -5300,8 +5301,12 @@ msgid "Remove All"
msgstr "Rimuovi"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+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"
@@ -5596,7 +5601,7 @@ msgstr "Esporta Con Debug"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "File non esistente."
#: editor/project_manager.cpp
@@ -5737,6 +5742,12 @@ 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 "Stai per esaminare %s cartelle per progetti Godot esistenti. Confermi?"
@@ -5767,6 +5778,11 @@ msgstr "Esci"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "Restart (s):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "Impossibile connettersi."
@@ -5994,6 +6010,15 @@ msgid "Remove Resource Remap Option"
msgstr "Rimuovi Opzione di Remap Rimorse"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Cambia tempo di Blend"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
msgstr "Impostazioni Progetto (project.godot)"
@@ -6054,6 +6079,30 @@ msgid "Locale"
msgstr "Locale"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Filtro Immagine:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Mostra Ossa"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtri"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Locale"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "AutoLoad"
@@ -7677,6 +7726,15 @@ msgstr "Errore caricamento font."
msgid "Invalid font size."
msgstr "Dimensione font Invalida."
+#~ msgid "Filter:"
+#~ msgstr "Filtro:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' fallita lettura della configurazione."
+
+#~ msgid "Theme"
+#~ msgstr "Tema"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Lista Metodi Per '%s':"
@@ -8617,9 +8675,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Preview Atlas"
#~ msgstr "Anteprima Atlas"
-#~ msgid "Image Filter:"
-#~ msgstr "Filtro Immagine:"
-
#~ msgid "Images:"
#~ msgstr "Immagini:"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index fa60fc2e5a..59d3b9499b 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -1,5 +1,6 @@
# Japanese translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# akirakido <achts.y@gmail.com>, 2016-2017.
@@ -1370,10 +1371,6 @@ msgid "File:"
msgstr "ファイル:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "フィルター:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "有効ãªæ‹¡å¼µå­ã‚’使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
@@ -1902,19 +1899,25 @@ msgid "Pick a Main Scene"
msgstr "メインシーンを指定"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2549,7 +2552,7 @@ msgstr "フレーム %"
#: editor/editor_profiler.cpp
#, fuzzy
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr "固定フレーム %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -4493,7 +4496,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "警告"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -5022,7 +5025,8 @@ msgstr "ステップイン"
msgid "Break"
msgstr "(デãƒãƒƒã‚°ã§ï¼‰ãƒ–レーク"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "実行を継続"
@@ -5124,7 +5128,8 @@ msgid "Cut"
msgstr "切りå–ã‚Š"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "コピー"
@@ -5938,8 +5943,12 @@ msgid "Remove All"
msgstr "削除"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "テーマ"
+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"
@@ -6255,7 +6264,7 @@ msgstr "デãƒãƒƒã‚°ä»˜ãエクスãƒãƒ¼ãƒˆ"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“."
#: editor/project_manager.cpp
@@ -6400,6 +6409,12 @@ 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 ""
@@ -6431,6 +6446,11 @@ msgstr "終了"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "アニメーションを最åˆã‹ã‚‰å†ç”Ÿã™ã‚‹ :"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "接続失敗."
@@ -6678,6 +6698,15 @@ msgstr "リソースã®ãƒªãƒžãƒƒãƒ—オプションを除去"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "ブレンドã™ã‚‹æ™‚間を変更"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "プロジェクト設定 (project.godot)"
@@ -6740,6 +6769,30 @@ msgid "Locale"
msgstr "ロケール"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "ロケール"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "ボーンを表示ã™ã‚‹"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "フィルター"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "ロケール"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "自動読ã¿è¾¼ã¿"
@@ -8483,6 +8536,12 @@ msgstr "フォント読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã€‚"
msgid "Invalid font size."
msgstr "無効ãªãƒ•ã‚©ãƒ³ãƒˆ サイズã§ã™ã€‚"
+#~ msgid "Filter:"
+#~ msgstr "フィルター:"
+
+#~ msgid "Theme"
+#~ msgstr "テーマ"
+
#, fuzzy
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' ã®ãƒ¡ã‚½ãƒƒãƒ‰ä¸€è¦§ï¼š"
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index bbee0acb37..02141b6dc3 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -1,14 +1,16 @@
# Korean translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# 박한얼 (volzhs) <volzhs@gmail.com>, 2016-2017.
+# Ch <ccwpc@hanmail.net>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2017-10-16 18:47+0000\n"
+"PO-Revision-Date: 2017-10-24 20:47+0000\n"
"Last-Translator: 박한얼 <volzhs@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
@@ -21,7 +23,7 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Disabled"
-msgstr "사용 안함"
+msgstr "비활성화ë¨"
#: editor/animation_editor.cpp
msgid "All Selection"
@@ -654,7 +656,7 @@ msgstr ""
#: editor/dependency_editor.cpp
msgid "Cannot remove:\n"
-msgstr ""
+msgstr "제거할 수 없습니다:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -717,7 +719,7 @@ msgstr "ê°ì‚¬í•©ë‹ˆë‹¤!"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
-msgstr ""
+msgstr "Godot Engine 기여ìž"
#: editor/editor_about.cpp
msgid "Project Founders"
@@ -725,7 +727,7 @@ msgstr "프로ì íŠ¸ 창립ìž"
#: editor/editor_about.cpp
msgid "Lead Developer"
-msgstr ""
+msgstr "리드 개발ìž"
#: editor/editor_about.cpp editor/project_manager.cpp
msgid "Project Manager"
@@ -733,7 +735,7 @@ msgstr "프로ì íŠ¸ 매니저"
#: editor/editor_about.cpp
msgid "Developers"
-msgstr ""
+msgstr "개발ìžë“¤"
#: editor/editor_about.cpp
msgid "Authors"
@@ -741,40 +743,39 @@ msgstr "ì €ìž"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "플래티넘 스í°ì„œ"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "골드 스í°ì„œ"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "미니 스í°ì„œ"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "골드 기ì¦ìž"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "브론즈 기ì¦ìž"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "아래로 복제"
+msgstr "브론즈 기ì¦ìž"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "기ì¦ìž"
#: editor/editor_about.cpp
msgid "License"
-msgstr ""
+msgstr "ë¼ì´ì„ ìŠ¤"
#: editor/editor_about.cpp
msgid "Thirdparty License"
-msgstr ""
+msgstr "서드파티 ë¼ì´ì„ ìŠ¤"
#: editor/editor_about.cpp
msgid ""
@@ -783,6 +784,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
msgid "All Components"
@@ -794,11 +798,11 @@ msgstr "ì»´í¬ë„ŒíŠ¸"
#: editor/editor_about.cpp
msgid "Licenses"
-msgstr ""
+msgstr "ë¼ì´ì„ ìŠ¤"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Error opening package file, not in zip format."
-msgstr ""
+msgstr "패키지 파ì¼ì„ 여는 ë° ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. zip í¬ë§·ì´ 아닙니다."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -811,7 +815,7 @@ msgstr "패키지가 성공ì ìœ¼ë¡œ 설치ë˜ì—ˆìŠµë‹ˆë‹¤!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr ""
+msgstr "성공!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
@@ -824,7 +828,7 @@ msgstr "패키지 ì¸ìŠ¤í†¨ëŸ¬"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
-msgstr ""
+msgstr "스피커"
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
@@ -840,23 +844,24 @@ msgstr "오디오 버스 솔로 토글"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Mute"
-msgstr ""
+msgstr "오디오 버스 뮤트 토글"
#: editor/editor_audio_buses.cpp
+#, fuzzy
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
msgid "Add Audio Bus Effect"
-msgstr ""
+msgstr "오디오 버스 ì´íŽ™íŠ¸ 추가"
#: editor/editor_audio_buses.cpp
msgid "Move Bus Effect"
-msgstr ""
+msgstr "버스 ì´íŽ™íŠ¸ ì´ë™"
#: editor/editor_audio_buses.cpp
msgid "Delete Bus Effect"
@@ -864,19 +869,20 @@ 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
+#, fuzzy
msgid "Bypass"
-msgstr ""
+msgstr "ë°”ì´íŒ¨ìŠ¤"
#: editor/editor_audio_buses.cpp
msgid "Bus options"
@@ -888,9 +894,8 @@ msgid "Duplicate"
msgstr "복제"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "줌 리셋"
+msgstr "볼륨 리셋"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
@@ -902,7 +907,7 @@ msgstr "오디오 버스 추가"
#: editor/editor_audio_buses.cpp
msgid "Master bus can't be deleted!"
-msgstr ""
+msgstr "주 버스는 삭제할 수 없습니다!"
#: editor/editor_audio_buses.cpp
msgid "Delete Audio Bus"
@@ -913,9 +918,8 @@ msgid "Duplicate Audio Bus"
msgstr "오디오 버스 복제"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "줌 리셋"
+msgstr "버스 볼륨 리셋"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
@@ -923,23 +927,23 @@ 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"
@@ -947,7 +951,7 @@ 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
@@ -956,7 +960,7 @@ 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
@@ -965,7 +969,7 @@ 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"
@@ -973,7 +977,7 @@ msgstr "기본값 불러오기"
#: editor/editor_audio_buses.cpp
msgid "Load the default Bus Layout."
-msgstr ""
+msgstr "기본 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜µë‹ˆë‹¤."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -1011,7 +1015,7 @@ msgstr "리소스 경로가 아닙니다."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
-msgstr "ìžë™ 로드 추가"
+msgstr "오토 로드 추가"
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1113,7 +1117,7 @@ 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?"
@@ -1200,9 +1204,8 @@ msgid "Move Favorite Down"
msgstr "ì¦ê²¨ì°¾ê¸° 아래로 ì´ë™"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "í´ë”를 만들 수 없습니다."
+msgstr "부모 í´ë”ë¡œ ì´ë™"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1218,10 +1221,6 @@ msgid "File:"
msgstr "파ì¼:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "í•„í„°:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "유효한 확장ìžë¥¼ 사용해야 합니다."
@@ -1267,27 +1266,24 @@ msgid "Brief Description:"
msgstr "간단한 설명:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "멤버:"
+msgstr "멤버"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "멤버:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "공개 함수:"
+msgstr "공개 메소드"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "공개 함수:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "GUI 테마 항목:"
+msgstr "GUI 테마 항목"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1298,9 +1294,8 @@ msgid "Signals:"
msgstr "시그ë„:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "Enumerations:"
+msgstr "Enumerations"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1308,41 +1303,40 @@ msgstr "Enumerations:"
#: editor/editor_help.cpp
msgid "enum "
-msgstr ""
+msgstr "enum "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "ìƒìˆ˜:"
+msgstr "ìƒìˆ˜"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "ìƒìˆ˜:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "설명:"
+msgstr "설명"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "ì†ì„±:"
+msgstr "ì†ì„±"
#: editor/editor_help.cpp
msgid "Property Description:"
msgstr "ì†ì„± 설명:"
#: editor/editor_help.cpp
+#, fuzzy
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
msgid "Methods"
-msgstr "함수 목ë¡:"
+msgstr "메서드"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1353,6 +1347,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
msgid "Search Text"
@@ -1394,28 +1390,24 @@ msgid "Error while saving."
msgstr "저장 중 ì—러."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "'..'ì— ìˆ˜í–‰í•  수 ì—†ìŒ"
+msgstr "'%s' 열수 ì—†ìŒ."
#: editor/editor_node.cpp
-#, fuzzy
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
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "'%s' ì”¬ì˜ ì¢…ì† í•­ëª©ì´ ê¹¨ì ¸ìžˆìŠµë‹ˆë‹¤.:"
+msgstr "'%s' 없거나 ì¢…ì† í•­ëª©ì´ ì—†ìŠµë‹ˆë‹¤."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "저장 중 ì—러."
+msgstr "'%s' 로딩 중 ì—러."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1481,18 +1473,25 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"ì´ ë¦¬ì†ŒìŠ¤ëŠ” ê°€ì ¸ì™”ë˜ ì”¬ì— ì†í•œ 것ì´ë¯€ë¡œ 수정할 수 없습니다.\n"
+"관련 ìž‘ì—… 절차를 ë” ìž˜ ì´í•´í•˜ë ¤ë©´ 씬 가져오기(scene importing)ê³¼ ê´€ë ¨ëœ ë¬¸ì„œ"
+"를 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
#: 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 ""
@@ -1501,6 +1500,10 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"ì´ ì”¬ì€ ê°€ì ¸ì˜¤ê¸°ë˜ì—ˆìœ¼ë¯€ë¡œ ë³€ê²½ì‚¬í•­ì´ ìœ ì§€ë˜ì§€ ì•Šì„ ê²ƒìž…ë‹ˆë‹¤.\n"
+"ì¸ìŠ¤í„´ìŠ¤í™” í˜¹ì€ ìƒì†ì„ 하면 ì”¬ì„ ìˆ˜ì •í•  수 있게 ë©ë‹ˆë‹¤.\n"
+"관련 ìž‘ì—… 절차를 ë” ìž˜ ì´í•´í•˜ë ¤ë©´ 씬 가져오기(scene importing)와 ê´€ë ¨ëœ ë¬¸ì„œ"
+"를 확ì¸í•´ì£¼ì‹­ì‹œì˜¤."
#: editor/editor_node.cpp
msgid "Copy Params"
@@ -1591,7 +1594,7 @@ msgstr "저장 ë° ë‹«ê¸°"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
-msgstr ""
+msgstr "닫기 ì „ì— '%s' ì— ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/editor_node.cpp
msgid "Save Scene As.."
@@ -1663,36 +1666,46 @@ 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
msgid "Pick a Main Scene"
msgstr "ë©”ì¸ ì”¬ ì„ íƒ"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
-msgstr ""
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
+msgstr "ì´ ê³³ì— ìžˆëŠ” 확장기능 플러그ì¸ì„ 활성화할 수 없습니다: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr ""
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
+msgstr "ì´ ê³³ì— ìžˆëŠ” 확장기능 플러그ì¸ì„ 활성화할 수 없습니다: '"
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -1700,6 +1713,8 @@ msgid ""
"Scene '%s' was automatically imported, so it can't be modified.\n"
"To make changes to it, a new inherited scene can be created."
msgstr ""
+"'%s' ì”¬ì€ ìžë™ìœ¼ë¡œ ìž„í¬íŠ¸ ë˜ì™¸ì„œ, 변경할 수 없습니다.\n"
+"ë³€ê²½ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´, 새로운 ìƒì† ì”¬ì„ ë§Œë“œì„¸ìš”."
#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -1719,9 +1734,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "'%s' ì”¬ì˜ ì¢…ì† í•­ëª©ì´ ê¹¨ì ¸ìžˆìŠµë‹ˆë‹¤.:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "Bones 없애기"
+msgstr "최근 씬 지우기"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -1989,11 +2003,11 @@ msgstr "온ë¼ì¸ 문서"
#: editor/editor_node.cpp
msgid "Q&A"
-msgstr ""
+msgstr "Q&A"
#: editor/editor_node.cpp
msgid "Issue Tracker"
-msgstr ""
+msgstr "ì´ìŠˆ 트래커"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
@@ -2096,9 +2110,8 @@ msgid "Object properties."
msgstr "오브ì íŠ¸ ì†ì„±."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "ì´ë¯¸ì§€ 그룹 변경"
+msgstr "ë³€ê²½ì‚¬í•­ì„ ìžƒì„ ìˆ˜ 있습니다!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2119,7 +2132,7 @@ msgstr "출력"
#: editor/editor_node.cpp
msgid "Don't Save"
-msgstr ""
+msgstr "저장하지 ì•ŠìŒ"
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
@@ -2182,9 +2195,8 @@ msgid "Open the previous Editor"
msgstr "ì´ì „ ì—디터 열기"
#: editor/editor_plugin.cpp
-#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "메쉬 ë¼ì´ë¸ŒëŸ¬ë¦¬ ìƒì„± 중"
+msgstr "메쉬 미리보기 ìƒì„± 중"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2236,7 +2248,8 @@ msgid "Frame %"
msgstr "프레임 %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "고정 프레임 %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2257,7 +2270,7 @@ msgstr "프레임 #:"
#: editor/editor_run_native.cpp
msgid "Select device from the list"
-msgstr ""
+msgstr "목ë¡ì—ì„œ 기기를 ì„ íƒí•˜ì„¸ìš”"
#: editor/editor_run_native.cpp
msgid ""
@@ -2418,24 +2431,20 @@ msgstr ""
"소스: "
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr "소스 í°íŠ¸ë¥¼ 로드/처리할 수 없습니다."
+msgstr "리소스 루트를 옮기거나 ì´ë¦„ì„ ë³€ê²½í•  수 없습니다."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself.\n"
-msgstr "ìžì‹ ì„ 가져올 수 없습니다:"
+msgstr "í´ë”를 ìžì‹ ì˜ 하위로 ì´ë™í•  수 없습니다.\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:\n"
-msgstr "디렉토리 ì´ë™ ì—러:\n"
+msgstr "ì´ë™ ì—러:\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Unable to update dependencies:\n"
-msgstr "'%s' ì”¬ì˜ ì¢…ì† í•­ëª©ì´ ê¹¨ì ¸ìžˆìŠµë‹ˆë‹¤.:"
+msgstr "종ì†í•­ëª©ì„ ì—…ë°ì´íŠ¸ í•  수 없습니다:\n"
#: editor/filesystem_dock.cpp
msgid "No name provided"
@@ -2446,29 +2455,24 @@ msgid "Provided name contains invalid characters"
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
-#, fuzzy
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
msgid "Expand all"
@@ -2483,18 +2487,16 @@ msgid "Copy Path"
msgstr "경로 복사"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Rename.."
-msgstr "ì´ë¦„ 변경"
+msgstr "ì´ë¦„ 변경.."
#: editor/filesystem_dock.cpp
msgid "Move To.."
msgstr "ì´ë™.."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Folder.."
-msgstr "í´ë” ìƒì„±"
+msgstr "새 í´ë”.."
#: editor/filesystem_dock.cpp
msgid "Show In File Manager"
@@ -2560,9 +2562,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"
@@ -2674,9 +2675,8 @@ msgid "Edit Poly"
msgstr "í´ë¦¬ê³¤ 편집"
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Insert Point"
-msgstr "삽입 중"
+msgstr "í¬ì¸íŠ¸ 삽입"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3235,14 +3235,12 @@ msgid "Edit CanvasItem"
msgstr "CanvasItem 편집"
#: 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
msgid "Change Anchors"
@@ -3298,9 +3296,8 @@ msgid "Pan Mode"
msgstr "팬 모드"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggles snapping"
-msgstr "ì¤‘ë‹¨ì  í† ê¸€"
+msgstr "스냅 토글"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3308,23 +3305,20 @@ msgid "Use Snap"
msgstr "스냅 사용"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snapping options"
-msgstr "애니메ì´ì…˜ 옵션"
+msgstr "스냅 옵션"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to grid"
-msgstr "스냅 모드:"
+msgstr "ê·¸ë¦¬ë“œì— ë§žì¶¤"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
msgstr "회전 스냅 사용"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Configure Snap..."
-msgstr "스냅 설정.."
+msgstr "스냅 설정..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
@@ -3339,9 +3333,8 @@ msgid "Smart snapping"
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"
@@ -3402,14 +3395,12 @@ msgid "Show Grid"
msgstr "그리드 ë³´ì´ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show helpers"
-msgstr "뼈대 보기"
+msgstr "í—¬í¼ ë³´ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show rulers"
-msgstr "뼈대 보기"
+msgstr "ìž ë³´ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3420,9 +3411,8 @@ msgid "Frame Selection"
msgstr "ì„ íƒí•­ëª© 화면 꽉차게 표시"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "ë ˆì´ì•„웃 저장"
+msgstr "ë ˆì´ì•„웃"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Keys"
@@ -3449,9 +3439,8 @@ msgid "Drag pivot from mouse position"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Set pivot at mouse position"
-msgstr "커브 í¬ì¸íŠ¸ Out 설정"
+msgstr "마우스 ìœ„ì¹˜ì— í”¼ë²— 설정"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
@@ -3545,14 +3534,12 @@ msgid "Flat1"
msgstr ""
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Ease in"
-msgstr "ê°ì†"
+msgstr "Ease in"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Ease out"
-msgstr "ê°€ì†"
+msgstr "Ease out"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
@@ -3579,24 +3566,20 @@ msgid "Remove point"
msgstr "í¬ì¸íŠ¸ 제거"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left linear"
-msgstr "ì§ì„ í˜•"
+msgstr "왼쪽 선형"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right linear"
-msgstr "우측 뷰"
+msgstr "오른쪽 선형"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load preset"
-msgstr "리소스 로드"
+msgstr "프리셋 로드"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Curve Point"
-msgstr "경로 í¬ì¸íŠ¸ ì‚­ì œ"
+msgstr "커프 í¬ì¸íŠ¸ ì‚­ì œ"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
@@ -3654,19 +3637,16 @@ msgid "RMB: Erase Point."
msgstr "ìš°í´ë¦­: í¬ì¸íŠ¸ ì‚­ì œ."
#: editor/plugins/line_2d_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point from Line2D"
-msgstr "커브ì—ì„œ í¬ì¸íŠ¸ ì‚­ì œ"
+msgstr "Line2Dì—ì„œ í¬ì¸íŠ¸ ì‚­ì œ"
#: editor/plugins/line_2d_editor_plugin.cpp
-#, fuzzy
msgid "Add Point to Line2D"
-msgstr "ì»¤ë¸Œì— í¬ì¸íŠ¸ 추가"
+msgstr "Line2Dì— í¬ì¸íŠ¸ 추가"
#: editor/plugins/line_2d_editor_plugin.cpp
-#, fuzzy
msgid "Move Point in Line2D"
-msgstr "ì»¤ë¸Œì˜ í¬ì¸íŠ¸ ì´ë™"
+msgstr "Line2Dì˜ í¬ì¸íŠ¸ ì´ë™"
#: editor/plugins/line_2d_editor_plugin.cpp
#: editor/plugins/path_2d_editor_plugin.cpp
@@ -3699,9 +3679,8 @@ msgid "Add Point (in empty space)"
msgstr "í¬ì¸íŠ¸ 추가 (빈 공간)"
#: editor/plugins/line_2d_editor_plugin.cpp
-#, fuzzy
msgid "Split Segment (in line)"
-msgstr "세그먼트 분할 (커브)"
+msgstr "세그먼트 분할 (ë¼ì¸)"
#: editor/plugins/line_2d_editor_plugin.cpp
#: editor/plugins/path_2d_editor_plugin.cpp
@@ -3890,14 +3869,12 @@ msgid "Bake!"
msgstr "굽기!"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Bake the navigation mesh.\n"
-msgstr "네비게ì´ì…˜ 메쉬 만들기"
+msgstr "네비게ì´ì…˜ 메쉬 만들기.\n"
#: 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..."
@@ -3908,14 +3885,12 @@ msgid "Calculating grid size..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating heightfield..."
-msgstr "ë¼ì´íŠ¸ 오í¬íŠ¸ë¦¬ ìƒì„± 중"
+msgstr "Heightfield ìƒì„± 중..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Marking walkable triangles..."
-msgstr "번역 가능한 문ìžì—´.."
+msgstr "걷기 가능한 트ë¼ì´ì•µê¸€ 표시 중..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Constructing compact heightfield..."
@@ -3927,32 +3902,28 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
-msgstr "경고"
+msgid "Partitioning..."
+msgstr "분할중..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating contours..."
-msgstr "오í¬íŠ¸ë¦¬ í…ìŠ¤ì³ ìƒì„± 중"
+msgstr "윤곽선 ìƒì„± 중..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating polymesh..."
-msgstr "외곽선 메쉬 만들기.."
+msgstr "í´ë¦¬ 메쉬 ìƒì„± 중..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Converting to native navigation mesh..."
-msgstr "네비게ì´ì…˜ 메쉬 만들기"
+msgstr "네ì´í‹°ë¸Œ 네비게ì´ì…˜ 메쉬로 변환 중..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Navigation Mesh Generator Setup:"
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Parsing Geometry..."
-msgstr "지오미트리 ë¶„ì„ ì¤‘"
+msgstr "지오미트리 ë¶„ì„ ì¤‘..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Done!"
@@ -3968,9 +3939,8 @@ msgstr "ì—미션 ë§ˆìŠ¤í¬ ì •ë¦¬"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Generating AABB"
-msgstr "AABB ìƒì„±"
+msgstr "AABB ìƒì„± 중"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Can only set point into a ParticlesMaterial process material"
@@ -3998,9 +3968,8 @@ msgstr "ì—미션 ë§ˆìŠ¤í¬ ë¡œë“œ"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Particles"
-msgstr "버í…스"
+msgstr "파티í´"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generated Point Count:"
@@ -4008,24 +3977,20 @@ msgstr "ìƒì„±ëœ í¬ì¸íŠ¸ 개수:"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Generation Time (sec):"
-msgstr "í‰ê·  시간 (ì´ˆ)"
+msgstr "ìƒì„± 시간 (ì´ˆ):"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Emission Mask"
-msgstr "ì—미션 ë§ˆìŠ¤í¬ ì„¤ì •"
+msgstr "ì—미션 마스í¬"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Capture from Pixel"
-msgstr "씬으로부터 만들기"
+msgstr "픽셀로부터 캡ì³"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Emission Colors"
-msgstr "ì—미션 위치:"
+msgstr "ì—미션 ì¹¼ë¼"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Node does not contain geometry."
@@ -4052,14 +4017,12 @@ msgid "Generate AABB"
msgstr "AABB ìƒì„±"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Create Emission Points From Mesh"
-msgstr "메쉬로부터 ì—미터 만들기"
+msgstr "메쉬로부터 ì—미션 í¬ì¸íŠ¸ 만들기"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Create Emission Points From Node"
-msgstr "노드로부터 ì—미터 만들기"
+msgstr "노드로부터 ì—미터 í¬ì¸íŠ¸ 만들기"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Clear Emitter"
@@ -4070,14 +4033,12 @@ msgid "Create Emitter"
msgstr "ì—미터 만들기"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Emission Points:"
-msgstr "ì—미션 위치:"
+msgstr "ì—미션 í¬ì¸íŠ¸:"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Surface Points"
-msgstr "서페ì´ìŠ¤ %d"
+msgstr "서페ì´ìŠ¤ í¬ì¸íŠ¸"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points+Normal (Directed)"
@@ -4088,9 +4049,8 @@ msgid "Volume"
msgstr "배출량"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Emission Source: "
-msgstr "ì—미션 채움:"
+msgstr "ì—미션 소스: "
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
@@ -4102,14 +4062,12 @@ msgid "Remove Point from Curve"
msgstr "커브ì—ì„œ í¬ì¸íŠ¸ ì‚­ì œ"
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Remove Out-Control from Curve"
-msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 ì´ë™"
+msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 ì‚­ì œ"
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Remove In-Control from Curve"
-msgstr "커브ì—ì„œ í¬ì¸íŠ¸ ì‚­ì œ"
+msgstr "ì»¤ë¸Œì˜ ì¸-컨트롤 ì‚­ì œ"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -4147,19 +4105,16 @@ msgid "Curve Point #"
msgstr "커브 í¬ì¸íŠ¸ #"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Point Position"
msgstr "커브 í¬ì¸íŠ¸ 위치 설정"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve In Position"
-msgstr "커브 í¬ì¸íŠ¸ In 설정"
+msgstr "ì»¤ë¸Œì˜ In 위치 설정"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Out Position"
-msgstr "커브 í¬ì¸íŠ¸ Out 설정"
+msgstr "ì»¤ë¸Œì˜ Out 위치 설정"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
@@ -4170,14 +4125,12 @@ msgid "Remove Path Point"
msgstr "경로 í¬ì¸íŠ¸ ì‚­ì œ"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Remove Out-Control Point"
-msgstr "ì»¤ë¸Œì˜ ì•„ì›ƒ-컨트롤 ì´ë™"
+msgstr "아웃-컨트롤 í¬ì¸íŠ¸ ì‚­ì œ"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Remove In-Control Point"
-msgstr "ì»¤ë¸Œì˜ ì¸-컨트롤 ì´ë™"
+msgstr "ì¸-컨트롤 í¬ì¸íŠ¸ ì‚­ì œ"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
@@ -4287,15 +4240,16 @@ msgid "Paste"
msgstr "붙여넣기"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Files"
-msgstr "Bones 없애기"
+msgstr "최근 íŒŒì¼ ì§€ìš°ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Close and save changes?\n"
"\""
msgstr ""
+"ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ê³  닫겠습니까?\n"
+"\""
#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
@@ -4382,9 +4336,8 @@ msgid "Run"
msgstr "실행"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Scripts Panel"
-msgstr "ì¦ê²¨ì°¾ê¸° 토글"
+msgstr "스í¬ë¦½íŠ¸ íŒ¨ë„ í† ê¸€"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4410,7 +4363,8 @@ msgstr "프로시저 단위 실행"
msgid "Break"
msgstr "정지"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "계ì†"
@@ -4419,14 +4373,12 @@ msgid "Keep Debugger Open"
msgstr "디버거 í•­ìƒ ì—´ì–´ë†“ê¸°"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Debug with external editor"
-msgstr "ì—디터ì—ì„œ 열기"
+msgstr "외부 ì—디터와 디버그"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation"
-msgstr "ë ˆí¼ëŸ°ìŠ¤ 문서 검색."
+msgstr "Godot 온ë¼ì¸ 문서 열기"
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the class hierarchy."
@@ -4445,9 +4397,8 @@ msgid "Go to next edited document."
msgstr "ë‹¤ìŒ íŽ¸ì§‘ 문서로 ì´ë™."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Discard"
-msgstr "비연ì†ì ì¸"
+msgstr "저장 안함"
#: editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4487,9 +4438,8 @@ msgid "Pick Color"
msgstr "ìƒ‰ìƒ ì„ íƒ"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert Case"
-msgstr "ì´ë¯¸ì§€ 변환 중"
+msgstr "ëŒ€ì†Œë¬¸ìž ë³€í™˜"
#: editor/plugins/script_text_editor.cpp
msgid "Uppercase"
@@ -4510,7 +4460,8 @@ msgid "Cut"
msgstr "잘ë¼ë‚´ê¸°"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "복사하기"
@@ -4530,9 +4481,8 @@ msgid "Move Down"
msgstr "아래로 ì´ë™"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Delete Line"
-msgstr "í¬ì¸íŠ¸ ì‚­ì œ"
+msgstr "ë¼ì¸ ì‚­ì œ"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Left"
@@ -4588,14 +4538,12 @@ msgid "Goto Previous Breakpoint"
msgstr "ì´ì „ 중단ì ìœ¼ë¡œ ì´ë™"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert To Uppercase"
-msgstr "변환.."
+msgstr "대문ìžë¡œ 변환"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert To Lowercase"
-msgstr "변환.."
+msgstr "소문ìžë¡œ 변환"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp
@@ -4837,28 +4785,24 @@ msgid "Objects Drawn"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Material Changes"
-msgstr "변경사항만 갱신"
+msgstr "머터리얼 변경"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Shader Changes"
-msgstr "변경사항만 갱신"
+msgstr "ì…°ì´ë” 변경"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Surface Changes"
-msgstr "변경사항만 갱신"
+msgstr "서피스 변경"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Draw Calls"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Vertices"
-msgstr "버í…스"
+msgstr "버틱스"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align with view"
@@ -4877,19 +4821,16 @@ msgid "Display Overdraw"
msgstr "Overdraw 표시"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Display Unshaded"
-msgstr "Shadeless 표시"
+msgstr "ìŒì˜ ì—†ì´ í‘œì‹œ"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View Environment"
-msgstr "환경"
+msgstr "환경 보기"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View Gizmos"
-msgstr "기즈모"
+msgstr "기즈모 보기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Information"
@@ -4900,9 +4841,8 @@ msgid "Audio Listener"
msgstr "오디오 리스너"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Doppler Enable"
-msgstr "활성화"
+msgstr "ë„플러 활성화"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -4913,30 +4853,26 @@ msgid "Freelook Right"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Forward"
-msgstr "앞으로 가기"
+msgstr "ìžìœ ì‹œì  앞으로 ì´ë™"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Backwards"
-msgstr "뒤로"
+msgstr "ìžìœ ì‹œì  뒤로 ì´ë™"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Down"
-msgstr "휠 아래로."
+msgstr "ìžìœ ì‹œì  아래로 ì´ë™"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "preview"
msgstr "미리보기"
@@ -4945,17 +4881,18 @@ msgid "XForm Dialog"
msgstr "변환 다ì´ì–¼ë¡œê·¸"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Select Mode (Q)\n"
-msgstr "ì„ íƒ ëª¨ë“œ"
+msgstr "ì„ íƒ ëª¨ë“œ (Q)\n"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Drag: Rotate\n"
"Alt+Drag: Move\n"
"Alt+RMB: Depth list selection"
-msgstr "알트+ìš°í´ë¦­: 겹친 오브ì íŠ¸ ì„ íƒ"
+msgstr ""
+"드래그: 회전\n"
+"알트+드래그: ì´ë™\n"
+"알트+ìš°í´ë¦­: 겹친 오브ì íŠ¸ ì„ íƒ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Move Mode (W)"
@@ -5014,24 +4951,20 @@ msgid "Align Selection With View"
msgstr "ì„ íƒ í•­ëª©ì„ ë·°ì— ì •ë ¬"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Select"
-msgstr "ì„ íƒ"
+msgstr "ì„ íƒ íˆ´"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Move"
-msgstr "ì´ë™"
+msgstr "ì´ë™ 툴"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Rotate"
-msgstr "컨트롤: 회전"
+msgstr "회전 툴"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Scale"
-msgstr "í¬ê¸°:"
+msgstr "í¬ê¸°ì¡°ì ˆ 툴"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform"
@@ -5203,21 +5136,18 @@ msgid "Insert Empty (After)"
msgstr "빈 프레임 삽입 (ì´í›„)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (Before)"
-msgstr "노드 삭제"
+msgstr "ì´ë™ (ì´ì „)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (After)"
-msgstr "왼쪽으로 ì´ë™"
+msgstr "ì´ë™ (ì´í›„)"
#: editor/plugins/style_box_editor_plugin.cpp
msgid "StyleBox Preview:"
msgstr "StyleBox 미리보기:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Set Region Rect"
msgstr "구역 설정"
@@ -5279,18 +5209,20 @@ msgid "Remove Item"
msgstr "ì•„ì´í…œ ì‚­ì œ"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Items"
-msgstr "í´ëž˜ìŠ¤ ì•„ì´í…œ ì‚­ì œ"
+msgstr "모든 ì•„ì´í…œ ì‚­ì œ"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All"
-msgstr "삭제"
+msgstr "ëª¨ë‘ ì‚­ì œ"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "테마"
+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"
@@ -5382,9 +5314,8 @@ msgid "Color"
msgstr "색깔"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Erase Selection"
-msgstr "ì„ íƒë¶€ë¶„ 지우기"
+msgstr "ì„ íƒ ì§€ìš°ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
@@ -5592,7 +5523,7 @@ msgstr "íƒ€ì¼ ì…‹ 내보내기"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "파ì¼ì´ 존재하지 않습니다."
#: editor/project_manager.cpp
@@ -5732,6 +5663,12 @@ 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 "%s ì—ì„œ 기존 Godot 프로ì íŠ¸ë“¤ì„ 스캔하려고 합니다. 진행하시겠습니까?"
@@ -5763,6 +5700,11 @@ msgstr "종료"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "재시작 (초):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "연결하기.."
@@ -5993,6 +5935,15 @@ msgstr "리소스 리맵핑 옵션 제거"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "연결 시간 변경"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "프로ì íŠ¸ 설정 (engine.cfg)"
@@ -6053,6 +6004,30 @@ msgid "Locale"
msgstr "지역"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "ì´ë¯¸ì§€ í•„í„°:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "뼈대 보기"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "í•„í„°"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "지역"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "ìžë™ 로드"
@@ -7641,6 +7616,12 @@ msgstr "í°íŠ¸ 로딩 ì—러."
msgid "Invalid font size."
msgstr "유요하지 ì•Šì€ í°íŠ¸ 사ì´ì¦ˆ."
+#~ msgid "Filter:"
+#~ msgstr "í•„í„°:"
+
+#~ msgid "Theme"
+#~ msgstr "테마"
+
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' 함수 목ë¡:"
@@ -8524,9 +8505,6 @@ msgstr "유요하지 ì•Šì€ í°íŠ¸ 사ì´ì¦ˆ."
#~ msgid "Preview Atlas"
#~ msgstr "ì•„í‹€ë¼ìŠ¤ 미리보기"
-#~ msgid "Image Filter:"
-#~ msgstr "ì´ë¯¸ì§€ í•„í„°:"
-
#~ msgid "Images:"
#~ msgstr "ì´ë¯¸ì§€:"
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
new file mode 100644
index 0000000000..b85e8e01aa
--- /dev/null
+++ b/editor/translations/lt.po
@@ -0,0 +1,7371 @@
+# Lithuanian 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.
+#
+# Ignas Kiela <ignaskiela@super.lt>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2017-10-23 18:47+0000\n"
+"Last-Translator: Ignas Kiela <ignaskiela@super.lt>\n"
+"Language-Team: Lithuanian <https://hosted.weblate.org/projects/godot-engine/"
+"godot/lt/>\n"
+"Language: lt\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n%10>=2 && (n%100<10 || n"
+"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3;\n"
+"X-Generator: Weblate 2.17\n"
+
+#: editor/animation_editor.cpp
+msgid "Disabled"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "All Selection"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Move Add Key"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Anim Change Transition"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Anim Change Transform"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Anim Change 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 ""
+
+#: 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
+msgid "Duplicate Selection"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Remove Selection"
+msgstr "Panaikinti pasirinkimÄ…"
+
+#: 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 "Konstanta"
+
+#: 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 "Sukurti"
+
+#: 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 "Ilgis:"
+
+#: editor/animation_editor.cpp
+msgid "Animation length (in seconds)."
+msgstr ""
+
+#: editor/animation_editor.cpp
+msgid "Step (s):"
+msgstr "Žingsnis(iai):"
+
+#: 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 "Create Subscription"
+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"
+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 editor/settings_config_dialog.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
+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
+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_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/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 "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/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 "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/project_manager.cpp
+msgid "Name"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "List:"
+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_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 "All Recognized"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: 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/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 "Refresh"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Toggle Hidden Files"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Toggle Favorite"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Toggle Mode"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Focus Path"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Move Favorite Up"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Move Favorite Down"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Go to 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
+#: 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 "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 "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 file(s)"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "%d more file(s) or folder(s)"
+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 "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
+#: editor/plugins/shader_editor_plugin.cpp scene/gui/line_edit.cpp
+#: scene/gui/text_edit.cpp
+msgid "Undo"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "FileSystem"
+msgstr ""
+
+#: editor/editor_node.cpp editor/node_dock.cpp
+msgid "Node"
+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
+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_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 "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 "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/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 '"
+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 ""
+"\n"
+"Source: "
+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 "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 "Expand all"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Collapse all"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Rename.."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Move To.."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Folder.."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show In File Manager"
+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
+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 "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
+#: editor/plugins/light_occluder_2d_editor_plugin.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/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 "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 "Can't resolve."
+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."
+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 "No response."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, return code:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Req. Failed."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, too many redirects"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Redirect Loop."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Failed:"
+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 "Connecting.."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Requesting.."
+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
+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/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 "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
+#: editor/plugins/spatial_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 "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: editor/plugins/canvas_item_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 "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 "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 ""
+
+#: 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/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 "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/line_2d_editor_plugin.cpp
+msgid "Remove Point from Line2D"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+msgid "Add Point to Line2D"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+msgid "Move Point in Line2D"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+msgid "Split Segment (in line)"
+msgstr ""
+
+#: editor/plugins/line_2d_editor_plugin.cpp
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Delete 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 "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 "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
+msgid "Clear Emission Mask"
+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 "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 ""
+
+#: 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 "Clear Emitter"
+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
+msgid "Select Control Points (Shift+Drag)"
+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 "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/shader_editor_plugin.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 "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 editor/property_editor.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 "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 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
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Find.."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.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
+#: editor/plugins/shader_editor_plugin.cpp scene/gui/line_edit.cpp
+#: scene/gui/text_edit.cpp
+msgid "Cut"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.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
+#: editor/plugins/shader_editor_plugin.cpp scene/gui/line_edit.cpp
+#: scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
+msgid "Move Up"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
+msgid "Move Down"
+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 "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
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Replace.."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Function.."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "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 "Align with view"
+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 "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 "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 "Transform"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap.."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+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 "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 "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 "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/project_export.cpp
+msgid "Runnable"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Delete patch '"
+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 " "
+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_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 "Meta+"
+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 "Add 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 '"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Setting '"
+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 "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 "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 modules/visual_script/visual_script_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Properties:"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Sections:"
+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 "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 "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 "Remote Inspector"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+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/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/gd_native_library_editor.cpp
+msgid "Library"
+msgstr ""
+
+#: modules/gdnative/gd_native_library_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: modules/gdnative/gd_native_library_editor.cpp
+msgid "Libraries: "
+msgstr ""
+
+#: modules/gdnative/register_types.cpp
+msgid "GDNative"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_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/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: modules/gdscript/gd_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 "Snap View"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Prev Level (%sDown Wheel)"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Next Level (%sUp Wheel)"
+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 "Selection -> Duplicate"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Selection -> Clear"
+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 Meta 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 Meta 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 Meta 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 read file:\n"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not open template for export:\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/sprite.cpp
+msgid ""
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite 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/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/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 "Cancel"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine 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/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 ""
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index 04f87dde0b..b4c3df0fb9 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -1,5 +1,6 @@
# Norwegian Bokmål translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Anonymous <GentleSaucepan@protonmail.com>, 2017.
@@ -1209,10 +1210,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1655,19 +1652,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -2187,7 +2189,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3838,7 +3840,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4300,7 +4302,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4394,7 +4397,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5152,7 +5156,11 @@ msgid "Remove All"
msgstr "Fjern Funksjon"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5436,7 +5444,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5564,6 +5572,12 @@ 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 ""
@@ -5593,6 +5607,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5815,6 +5833,14 @@ 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 ""
@@ -5875,6 +5901,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Lim inn Noder"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 5a5665675b..a9ed678eac 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -1,22 +1,24 @@
# Dutch translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Aram Nap <xyphex.aram@gmail.com>, 2017.
+# Robin Arys <robinarys@hotmail.com>, 2017.
# Senno Kaasjager <senno.kaasjager@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2017-09-19 22:45+0000\n"
-"Last-Translator: Senno Kaasjager <senno.kaasjager@gmail.com>\n"
+"PO-Revision-Date: 2017-10-25 23:45+0000\n"
+"Last-Translator: Robin Arys <robinarys@hotmail.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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -85,7 +87,7 @@ msgstr "Anim Track Wijzig Waarde Modus"
#: editor/animation_editor.cpp
#, fuzzy
msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Track Wijzig Waarde Modus"
+msgstr "Animatiespoor Wijzig Wikkelmodus"
#: editor/animation_editor.cpp
msgid "Edit Node Curve"
@@ -279,7 +281,7 @@ msgstr "Verwijder geselecteerde track."
#: editor/animation_editor.cpp
msgid "Track tools"
-msgstr "Track tools"
+msgstr "Spoorgereedschappen"
#: editor/animation_editor.cpp
msgid "Enable editing of individual keys by clicking them."
@@ -312,7 +314,7 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Key"
-msgstr "Key"
+msgstr "Sleutel"
#: editor/animation_editor.cpp
msgid "Transition"
@@ -576,7 +578,7 @@ msgstr "Zoeken:"
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
msgid "Matches:"
-msgstr "Matches:"
+msgstr "Overeenkomsten:"
#: editor/create_dialog.cpp editor/editor_help.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
@@ -660,7 +662,7 @@ msgstr ""
#: editor/dependency_editor.cpp
msgid "Cannot remove:\n"
-msgstr ""
+msgstr "Niet wisbaar:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -715,71 +717,71 @@ msgstr "Verwijder"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
-msgstr ""
+msgstr "Bedankt van de Godot gemeenschap!"
#: editor/editor_about.cpp
msgid "Thanks!"
-msgstr ""
+msgstr "Bedankt!"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
-msgstr ""
+msgstr "Godot Engine medewerkers"
#: editor/editor_about.cpp
msgid "Project Founders"
-msgstr ""
+msgstr "Projectoprichters"
#: editor/editor_about.cpp
msgid "Lead Developer"
-msgstr ""
+msgstr "Hoofdontwikkelaar"
#: editor/editor_about.cpp editor/project_manager.cpp
msgid "Project Manager"
-msgstr ""
+msgstr "Project Manager"
#: editor/editor_about.cpp
msgid "Developers"
-msgstr ""
+msgstr "Ontwikkelaars"
#: editor/editor_about.cpp
msgid "Authors"
-msgstr ""
+msgstr "Auteurs"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "Platina Sponsors"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "Gouden Sponsors"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "Mini Sponsors"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "Gouden Donors"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "Zilveren Donors"
#: editor/editor_about.cpp
msgid "Bronze Donors"
-msgstr ""
+msgstr "Bronzen Donors"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "Donors"
#: editor/editor_about.cpp
msgid "License"
-msgstr ""
+msgstr "Licentie"
#: editor/editor_about.cpp
msgid "Thirdparty License"
-msgstr ""
+msgstr "Derde partijslicentie"
#: editor/editor_about.cpp
msgid ""
@@ -788,33 +790,34 @@ msgid ""
"is an exhaustive list of all such thirdparty components with their "
"respective copyright statements and license terms."
msgstr ""
+"Godot Engine maakt gebruik van enkele gratis en open-source bibliotheken, "
+"ontwikkeld door derden, die compatibel zijn met onze MIT licentie. Wat volgt "
+"is een exhaustieve lijst van alle componenten van een derde partij met hun "
+"respectievelijke copyrightberichten en licentietermen."
#: editor/editor_about.cpp
-#, fuzzy
msgid "All Components"
-msgstr "Constanten:"
+msgstr "Alle Componenten"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Components"
-msgstr "Constanten:"
+msgstr "Componenten"
#: editor/editor_about.cpp
msgid "Licenses"
-msgstr ""
+msgstr "Licenties"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Error opening package file, not in zip format."
-msgstr ""
+msgstr "Fout bij het openen van het pakketbestand, geen zip-formaat."
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Uncompressing Assets"
-msgstr "Aan Het Herimporteren"
+msgstr "Bronnen aan het uitpakken"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package Installed Successfully!"
-msgstr ""
+msgstr "Pakket Succesvol Geïnstalleerd!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -828,115 +831,105 @@ msgstr "Installeer"
#: editor/editor_asset_installer.cpp
msgid "Package Installer"
-msgstr ""
+msgstr "Pakketinstalleerder"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
-msgstr ""
+msgstr "Luidsprekers"
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
-msgstr ""
+msgstr "Geluidseffect Toevoegen"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Rename Audio Bus"
-msgstr "Open Audio Bus Layout"
+msgstr "Hernoem audiobus"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Toggle Audio Bus Solo"
-msgstr "Open Audio Bus Layout"
+msgstr "Verander audiobus solo"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Toggle Audio Bus Mute"
-msgstr "Open Audio Bus Layout"
+msgstr "Verander audiobus stil"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Bypass Effects"
-msgstr ""
+msgstr "Verander audiobusomleiding"
#: editor/editor_audio_buses.cpp
+#, fuzzy
msgid "Select Audio Bus Send"
-msgstr ""
+msgstr "Selecteer audiobus verzend"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus Effect"
-msgstr ""
+msgstr "Voeg audiobuseffect toe"
#: editor/editor_audio_buses.cpp
msgid "Move Bus Effect"
-msgstr ""
+msgstr "Verplaats audiobuseffect"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Delete Bus Effect"
-msgstr "Geselecteerde Verwijderen"
+msgstr "Verwijder audiobuseffect"
#: editor/editor_audio_buses.cpp
msgid "Audio Bus, Drag and Drop to rearrange."
-msgstr ""
+msgstr "Audiobus, versleep om volgorde te veranderen."
#: editor/editor_audio_buses.cpp
msgid "Solo"
-msgstr ""
+msgstr "Solo"
#: editor/editor_audio_buses.cpp
msgid "Mute"
-msgstr ""
+msgstr "Stil"
#: editor/editor_audio_buses.cpp
msgid "Bypass"
-msgstr ""
+msgstr "Omleiden"
#: editor/editor_audio_buses.cpp
msgid "Bus options"
-msgstr ""
+msgstr "Audiobusopties"
#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
msgid "Duplicate"
-msgstr ""
+msgstr "Dupliceren"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "Reset Zoom"
+msgstr "Herstel Volume"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Delete Effect"
-msgstr "Geselecteerde Verwijderen"
+msgstr "Effect Verwijderen"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Add Audio Bus"
-msgstr "Bus Toevoegen"
+msgstr "Audiobus Toevoegen"
#: editor/editor_audio_buses.cpp
msgid "Master bus can't be deleted!"
-msgstr ""
+msgstr "Hoofdaudiobus kan niet verwijderd worden!"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Delete Audio Bus"
-msgstr "Optimaliseer Animatie"
+msgstr "Verwijder audiobus"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Duplicate Audio Bus"
-msgstr "Dupliceer Selectie"
+msgstr "Dupliceer Audiobus"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "Reset Zoom"
+msgstr "Reset Audiobus Volume"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Move Audio Bus"
-msgstr "Open Audio Bus Layout"
+msgstr "Verplaats audiobus"
#: editor/editor_audio_buses.cpp
msgid "Save Audio Bus Layout As.."
@@ -952,20 +945,19 @@ msgstr "Open Audio Bus Lay-out"
#: editor/editor_audio_buses.cpp
msgid "There is no 'res://default_bus_layout.tres' file."
-msgstr ""
+msgstr "Er is geen 'res://default_bus_layout.tres' bestand."
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
-msgstr ""
+msgstr "Ongeldig bestand, geen audiobus layout."
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
msgstr "Bus Toevoegen"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Create a new Bus Layout."
-msgstr "Sla Audio Bus Layout Op Als.."
+msgstr "Maak een nieuwe audiobus layout."
#: editor/editor_audio_buses.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
@@ -974,7 +966,7 @@ msgstr "Laden"
#: editor/editor_audio_buses.cpp
msgid "Load an existing Bus Layout."
-msgstr ""
+msgstr "Laad een bestaand audiobus layout."
#: editor/editor_audio_buses.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -982,18 +974,16 @@ msgid "Save As"
msgstr "Opslaan Als"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Save this Bus Layout to a file."
-msgstr "Sla Audio Bus Layout Op Als.."
+msgstr "Sla deze audiobus layout op in een bestand."
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
-#, fuzzy
msgid "Load Default"
-msgstr "Standaard"
+msgstr "Laad Standaard"
#: editor/editor_audio_buses.cpp
msgid "Load the default Bus Layout."
-msgstr ""
+msgstr "Laad de standaard audiobus layout."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -1044,7 +1034,7 @@ msgstr "Autoload Hernoemen"
#: editor/editor_autoload_settings.cpp
msgid "Toggle AutoLoad Globals"
-msgstr "Toggle AutoLoad Globals"
+msgstr "AutoLoad-Globalen omschakelen"
#: editor/editor_autoload_settings.cpp
msgid "Move Autoload"
@@ -1097,7 +1087,7 @@ msgstr "Scene aan het updaten.."
#: editor/editor_dir_dialog.cpp
msgid "Please select a base directory first"
-msgstr ""
+msgstr "Kies eerst een basisfolder"
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1125,12 +1115,10 @@ msgid "Choose"
msgstr "Kies"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Storing File:"
-msgstr "Opslag Bestand:"
+msgstr "Bestand Opslaan:"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Packing"
msgstr "Inpakken"
@@ -1223,9 +1211,8 @@ msgid "Move Favorite Down"
msgstr "Verplaats Favoriet Naar Beneden"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "Map kon niet gemaakt worden."
+msgstr "Ga naar bovenliggende folder"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1233,7 +1220,7 @@ msgstr "Mappen & Bestanden:"
#: editor/editor_file_dialog.cpp
msgid "Preview:"
-msgstr "Preview:"
+msgstr "Voorbeeld:"
#: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp
#: scene/gui/file_dialog.cpp
@@ -1241,10 +1228,6 @@ msgid "File:"
msgstr "Bestand:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filter:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Een geldige extensie moet gebruikt worden."
@@ -1254,9 +1237,8 @@ msgid "ScanSources"
msgstr "Scan Bronnen"
#: editor/editor_file_system.cpp
-#, fuzzy
msgid "(Re)Importing Assets"
-msgstr "Aan Het Herimporteren"
+msgstr "Bronnen (Her)Importeren"
#: editor/editor_help.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -1273,7 +1255,7 @@ msgstr "Zoek Klasses"
#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
-msgstr ""
+msgstr "Boven"
#: editor/editor_help.cpp editor/property_editor.cpp
msgid "Class:"
@@ -1292,27 +1274,24 @@ msgid "Brief Description:"
msgstr "Korte Beschrijving:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "Leden:"
+msgstr "Leden"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "Leden:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "Publieke Methodes:"
+msgstr "Publieke Methodes"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "Publieke Methodes:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "GUI Thema Items:"
+msgstr "GUI Thema Items"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1323,36 +1302,32 @@ msgid "Signals:"
msgstr "Signalen:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "Functies:"
+msgstr "Enumeraties"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations:"
-msgstr "Functies:"
+msgstr "Enumeraties:"
#: editor/editor_help.cpp
msgid "enum "
-msgstr ""
+msgstr "enum "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "Constanten:"
+msgstr "Constanten"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "Constanten:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "Omschrijving:"
+msgstr "Beschrijving"
#: editor/editor_help.cpp
msgid "Properties"
-msgstr ""
+msgstr "Eigenschappen"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1363,11 +1338,12 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Er is momenteel geen beschrijving voor deze eigenschap. Help ons alsjeblieft "
+"door [color=$color][url=$url]een toe te voegen[/url][/color]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "Methode Lijst:"
+msgstr "Methodes"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1378,15 +1354,16 @@ msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Er is momenteel geen beschrijving voor deze methode. Help ons alsjeblieft "
+"door [color=$color][url=$url]een toe te voegen[/url][/color]!"
#: editor/editor_help.cpp
msgid "Search Text"
msgstr "Zoek Tekst"
#: editor/editor_log.cpp
-#, fuzzy
msgid "Output:"
-msgstr " Uitvoer:"
+msgstr "Uitvoer:"
#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
#: editor/property_editor.cpp editor/script_editor_debugger.cpp
@@ -1404,7 +1381,6 @@ msgstr "Resource Opslaan Als.."
#: 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 "Ik snap het.."
@@ -1418,30 +1394,27 @@ msgstr "Opgevraagde bestandsformaat onbekend:"
#: editor/editor_node.cpp
msgid "Error while saving."
-msgstr "Error bij het opslaan."
+msgstr "Fout bij het opslaan."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "Kan niet verbinden."
+msgstr "Kan '%s' niet openen."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while parsing '%s'."
-msgstr "Error bij het opslaan."
+msgstr "Fout tijdens het parsen van '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr ""
+msgstr "Onverwacht einde van het bestand '%s'."
#: editor/editor_node.cpp
msgid "Missing '%s' or its dependencies."
-msgstr ""
+msgstr "'%s' of zijn afhankelijkheden ontbreken."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "Error bij het opslaan."
+msgstr "Fout tijdens het laden van '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1457,7 +1430,7 @@ msgstr "Thumbnail Aan Het Maken"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
-msgstr ""
+msgstr "Deze operatie kan niet gedaan worden zonder boomwortel."
#: editor/editor_node.cpp
msgid ""
@@ -1492,7 +1465,7 @@ msgstr "Error bij het opslaan van layout!"
#: editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr ""
+msgstr "Standaard editor layout overschreven."
#: editor/editor_node.cpp
msgid "Layout name not found!"
@@ -1500,26 +1473,36 @@ msgstr "Lay-out naam niet gevonden!"
#: editor/editor_node.cpp
msgid "Restored default layout to base settings."
-msgstr ""
+msgstr "Standaard layout hersteld naar basisinstellingen."
#: editor/editor_node.cpp
+#, fuzzy
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 ""
+"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."
#: 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"
+"Aanpassingen zullen niet worden bijgehouden bij het opslaan van de huidige "
+"scene."
#: 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 ""
+"Dit bestand werd geïmporteerd, dus het is niet bewerkbaar. Pas de "
+"instellingen aan in het importeerpaneel en importeer het nadien opnieuw."
#: editor/editor_node.cpp
msgid ""
@@ -1528,38 +1511,43 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Deze scene werd geïmporteerd, dus aanpassingen zullen niet worden "
+"opgeslagen.\n"
+"Instantieer het of erf het over om er aanpassingen aan te maken.\n"
+"Lees de documentatie over scenes importeren om deze workflow beter te "
+"begrijpen."
#: editor/editor_node.cpp
msgid "Copy Params"
-msgstr ""
+msgstr "Kopieer Parameters"
#: editor/editor_node.cpp
msgid "Paste Params"
-msgstr ""
+msgstr "Plak Parameters"
#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Paste Resource"
-msgstr ""
+msgstr "Plak Bron"
#: editor/editor_node.cpp
msgid "Copy Resource"
-msgstr ""
+msgstr "Kopieer Bron"
#: editor/editor_node.cpp
msgid "Make Built-In"
-msgstr ""
+msgstr "Integreer"
#: editor/editor_node.cpp
msgid "Make Sub-Resources Unique"
-msgstr ""
+msgstr "Maak Onderliggende Bronnen Uniek"
#: editor/editor_node.cpp
msgid "Open in Help"
-msgstr ""
+msgstr "Open in Help"
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
-msgstr ""
+msgstr "Er is geen startscene gedefinieerd."
#: editor/editor_node.cpp
msgid ""
@@ -1567,6 +1555,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
+"Er is nooit een hoofdscene gekozen, wil je er een selecteren?\n"
+"Je kan dit later nog aanpassen in \"Projectinstellingen\" onder de categorie "
+"'toepassing'."
#: editor/editor_node.cpp
msgid ""
@@ -1574,6 +1565,9 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
+"De geselecteerde scene '%s' bestaat niet, selecteer een andere?\n"
+"Je kan dit later aanpassen in \"Projectinstellingen\" onder de categorie "
+"'toepassing'."
#: editor/editor_node.cpp
msgid ""
@@ -1581,175 +1575,197 @@ msgid ""
"You can change it later in \"Project Settings\" under the 'application' "
"category."
msgstr ""
+"De geselecteerde scene '%s' is geen scenebestand, selecteer een andere?\n"
+"Je kan dit later aanpassen in \"Projectinstellingen\" onder de categorie "
+"'toepassing'."
#: editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
-msgstr ""
+msgstr "De huidige scene werd nooit opgeslagen, sla ze op voor het uitvoeren."
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr ""
+msgstr "Kon het subproces niet opstarten!"
#: editor/editor_node.cpp
msgid "Open Scene"
-msgstr ""
+msgstr "Scene Openen"
#: editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr ""
+msgstr "Open Basisscene"
#: editor/editor_node.cpp
msgid "Quick Open Scene.."
-msgstr ""
+msgstr "Open Scene Snel..."
#: editor/editor_node.cpp
msgid "Quick Open Script.."
-msgstr ""
+msgstr "Open Script Snel..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save & Close"
-msgstr "Sla een Bestand Op"
+msgstr "Opslaan & Sluiten"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
-msgstr ""
+msgstr "Sla wijzigen aan '%s' op voor het afsluiten?"
#: editor/editor_node.cpp
msgid "Save Scene As.."
-msgstr ""
+msgstr "Sla Scene Op Als..."
#: editor/editor_node.cpp
msgid "No"
-msgstr ""
+msgstr "Nee"
#: 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 "Deze scene is nooit opgeslagen. Sla op voor het uitvoeren?"
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "This operation can't be done without a scene."
-msgstr ""
+msgstr "Deze operatie kan niet uitgevoerd worden zonder scene."
#: editor/editor_node.cpp
msgid "Export Mesh Library"
-msgstr ""
+msgstr "Exporteer Mesh Library"
#: editor/editor_node.cpp
msgid "Export Tile Set"
-msgstr ""
+msgstr "Exporteer Tile Set"
#: editor/editor_node.cpp
msgid "This operation can't be done without a selected node."
msgstr ""
+"Deze operatie kan niet uitgevoerd worden zonder een geselecteerde knoop."
#: editor/editor_node.cpp
msgid "Current scene not saved. Open anyway?"
-msgstr ""
+msgstr "De huidige scene is nog niet opgeslagen. Toch openen?"
#: editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr ""
+msgstr "Een scene die nooit opgeslagen is kan je niet opnieuw laden."
#: editor/editor_node.cpp
msgid "Revert"
-msgstr ""
+msgstr "Herstellen"
#: editor/editor_node.cpp
msgid "This action cannot be undone. Revert anyway?"
-msgstr ""
+msgstr "Deze actie kan niet ongedaan gemaakt worden. Toch herstellen?"
#: editor/editor_node.cpp
msgid "Quick Run Scene.."
-msgstr ""
+msgstr "Snel Scene Uitvoeren..."
#: editor/editor_node.cpp
msgid "Quit"
-msgstr ""
+msgstr "Afsluiten"
#: editor/editor_node.cpp
msgid "Exit the editor?"
-msgstr ""
+msgstr "Sluit de editor af?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr ""
+msgstr "Open de Project Manager?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save & Quit"
-msgstr "Sla een Bestand Op"
+msgstr "Opslaan & Afsluiten"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before quitting?"
msgstr ""
+"Wil je de wijzigen aan de volgende scene(s) opslaan voor het afsluiten?"
#: editor/editor_node.cpp
msgid "Save changes the following scene(s) before opening Project Manager?"
msgstr ""
+"Wil je de wijzigen aan de volgende scene(s) opslaan voor de Project Manager "
+"opent?"
#: editor/editor_node.cpp
msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
+"Deze optie is verouderd. Situaties waar een hernieuwing geforceerd moet "
+"worden zijn softwarefouten. Rapporteer dit alsjeblieft."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
-msgstr ""
+msgstr "Kies een Hoofdscene"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
-msgstr ""
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
+msgstr "Onmogelijk om de plugin op: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr ""
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
+msgstr "Onmogelijk om scriptveld te vinden voor de plugin op: 'res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
-msgstr ""
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Volgend script kon niet geladen worden: '"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
-msgstr ""
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "Volgend script kon niet geladen worden: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
+msgstr "Volgend script kon niet geladen worden: '"
#: 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 ""
+"Scene '%s' werd automatisch geïmporteerd, dus ze kan niet aangepast worden.\n"
+"Om aanpassingen te doen kan je een erfende scene aanmaken."
#: 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 "Oeps"
#: 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 ""
+"Fout tijdens het laden van de scene, ze moet zich in het projectpad "
+"bevinden. Gebruik 'Importeer' om de scene te openen en sla ze nadien ergens "
+"in het projectpad op."
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
-msgstr ""
+msgstr "De scene '%s' heeft kapotte afhankelijkheden:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
-msgstr ""
+msgstr "Maak Leeg"
#: editor/editor_node.cpp
msgid "Save Layout"
-msgstr ""
+msgstr "Layout Opslaan"
#: editor/editor_node.cpp
msgid "Delete Layout"
-msgstr ""
+msgstr "Layout Verwijderen"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
@@ -1758,87 +1774,87 @@ msgstr "Standaard"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr ""
+msgstr "Scenetab Wisselen"
#: editor/editor_node.cpp
msgid "%d more file(s)"
-msgstr ""
+msgstr "nog %d bestand(en)"
#: editor/editor_node.cpp
msgid "%d more file(s) or folder(s)"
-msgstr ""
+msgstr "nog %d bestand(en) of folder(s)"
#: editor/editor_node.cpp
msgid "Distraction Free Mode"
-msgstr ""
+msgstr "Afleidingsvrije Modus"
#: editor/editor_node.cpp
msgid "Toggle distraction-free mode."
-msgstr ""
+msgstr "Afleidingsvrije modus veranderen."
#: editor/editor_node.cpp
msgid "Scene"
-msgstr ""
+msgstr "Scène"
#: editor/editor_node.cpp
msgid "Go to previously opened scene."
-msgstr ""
+msgstr "Ga naar de vorige geopende scene."
#: editor/editor_node.cpp
msgid "Next tab"
-msgstr ""
+msgstr "Volgend tabblad"
#: editor/editor_node.cpp
msgid "Previous tab"
-msgstr ""
+msgstr "Vorig tabblad"
#: editor/editor_node.cpp
msgid "Filter Files.."
-msgstr ""
+msgstr "Bestanden Filteren..."
#: editor/editor_node.cpp
msgid "Operations with scene files."
-msgstr ""
+msgstr "Operaties met scenebestanden."
#: editor/editor_node.cpp
msgid "New Scene"
-msgstr ""
+msgstr "Nieuwe Scene"
#: editor/editor_node.cpp
msgid "New Inherited Scene.."
-msgstr ""
+msgstr "Nieuwe Geërfde Scene..."
#: editor/editor_node.cpp
msgid "Open Scene.."
-msgstr ""
+msgstr "Scene Openen..."
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr ""
+msgstr "Scene Opslaan"
#: editor/editor_node.cpp
msgid "Save all Scenes"
-msgstr ""
+msgstr "Alle Scenes Opslaan"
#: editor/editor_node.cpp
msgid "Close Scene"
-msgstr ""
+msgstr "Scene Sluiten"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Open Recent"
-msgstr ""
+msgstr "Recente Scenes Openen"
#: editor/editor_node.cpp
msgid "Convert To.."
-msgstr ""
+msgstr "Converteer Naar..."
#: editor/editor_node.cpp
msgid "MeshLibrary.."
-msgstr ""
+msgstr "MeshLibrary..."
#: editor/editor_node.cpp
msgid "TileSet.."
-msgstr ""
+msgstr "TileSet..."
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp scene/gui/line_edit.cpp
@@ -1849,57 +1865,59 @@ msgstr "Ongedaan Maken"
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp
msgid "Redo"
-msgstr ""
+msgstr "Opnieuw"
#: editor/editor_node.cpp
msgid "Revert Scene"
-msgstr ""
+msgstr "Scene Herstellen"
#: editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
+msgstr "Diverse project of scene-brede gereedschappen."
#: editor/editor_node.cpp
msgid "Project"
-msgstr ""
+msgstr "Project"
#: editor/editor_node.cpp
msgid "Project Settings"
-msgstr ""
+msgstr "Projectinstellingen"
#: editor/editor_node.cpp
msgid "Run Script"
-msgstr ""
+msgstr "Voer Script Uit"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
-msgstr ""
+msgstr "Exporteren"
#: editor/editor_node.cpp
msgid "Tools"
-msgstr ""
+msgstr "Gereedschappen"
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr ""
+msgstr "Sluit af naar Projectlijst"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Debug"
-msgstr ""
+msgstr "Debuggen"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr ""
+msgstr "Start met Debuggen op Afstand"
#: 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 ""
+"Na het exporteren of opstarten van het programma zal het proberen verbinding "
+"maken met het IP-adres van deze computer zodat het gedebugd kan worden."
#: editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "Kleine Deployatie over het Netwerk"
#: editor/editor_node.cpp
msgid ""
@@ -1913,7 +1931,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
-msgstr ""
+msgstr "Collision Shapes Zichtbaar"
#: editor/editor_node.cpp
msgid ""
@@ -1923,7 +1941,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Visible Navigation"
-msgstr ""
+msgstr "Navigatie Zichtbaar"
#: editor/editor_node.cpp
msgid ""
@@ -2240,7 +2258,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3910,7 +3928,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4373,7 +4391,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4469,7 +4488,8 @@ msgid "Cut"
msgstr "Knippen"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopiëren"
@@ -5235,7 +5255,11 @@ msgid "Remove All"
msgstr "Verwijderen"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5526,7 +5550,7 @@ msgstr ""
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Bestand bestaat niet."
#: editor/project_manager.cpp
@@ -5657,6 +5681,12 @@ 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 ""
@@ -5687,6 +5717,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "Verbind.."
@@ -5913,6 +5947,14 @@ 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 ""
@@ -5973,6 +6015,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filter:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7563,6 +7626,12 @@ msgstr "Error bij het laden van lettertype."
msgid "Invalid font size."
msgstr "Ongeldige lettertype grootte."
+#~ msgid "Filter:"
+#~ msgstr "Filter:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' te activeren. Het configuratiebestand kon niet gelezen worden."
+
#~ msgid "Method List For '%s':"
#~ msgstr "Methodelijst voor '%s':"
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index 297cc89d14..1d14c94e1f 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -1,5 +1,6 @@
# Polish translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# 8-bit Pixel <dawdejw@gmail.com>, 2016.
@@ -11,13 +12,14 @@
# Maksymilian Świąć <maksymilian.swiac@gmail.com>, 2017.
# Mietek Szcześniak <ravaging@go2.pl>, 2016.
# Rafal Brozio <rafal.brozio@gmail.com>, 2016.
+# Sebastian Krzyszkowiak <dos@dosowisko.net>, 2017.
# siatek papieros <sbigneu@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2017-06-26 08:24+0000\n"
-"Last-Translator: Daniel Lewan <vision360.daniel@gmail.com>\n"
+"PO-Revision-Date: 2017-10-23 16:47+0000\n"
+"Last-Translator: Sebastian Krzyszkowiak <dos@dosowisko.net>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
"Language: pl\n"
@@ -25,7 +27,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.15-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -734,7 +736,7 @@ msgstr "Usuń"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
-msgstr "Podziękowania od społeczności Godot'a!"
+msgstr "Podziękowania od społeczności Godota!"
#: editor/editor_about.cpp
msgid "Thanks!"
@@ -1268,10 +1270,6 @@ msgid "File:"
msgstr "Plik:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtr:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Rozszerzenie musi być poprawne."
@@ -1744,19 +1742,25 @@ msgid "Pick a Main Scene"
msgstr "Wybierz główną scenę"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "BÅ‚Ä…d przy Å‚adowaniu sceny z %s"
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2315,7 +2319,8 @@ msgid "Frame %"
msgstr "% Ramek"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "% Ramek Fixed"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -4043,7 +4048,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Ostrzeżenie"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4523,7 +4528,8 @@ msgstr "Krok w"
msgid "Break"
msgstr "Przerwa"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Kontynuuj"
@@ -4626,7 +4632,8 @@ msgid "Cut"
msgstr "Wytnij"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopiuj"
@@ -5404,9 +5411,12 @@ msgid "Remove All"
msgstr "Usuń"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Theme"
-msgstr "Zapisz motyw"
+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"
@@ -5711,7 +5721,7 @@ msgstr "Eksportuj TileSet"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Plik nie istnieje."
#: editor/project_manager.cpp
@@ -5850,6 +5860,12 @@ msgstr "Usunąć projekt z listy? (Zawartość folderu nie zostanie zmodyfikowan
#: 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 ""
@@ -5883,6 +5899,11 @@ msgstr "Wyjdź"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "Restart(y):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "Połącz.."
@@ -6113,6 +6134,15 @@ msgstr "Usuń opcję mapowania zasobu"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Zmień rozmiar kamery"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Ustawienia projektu (engine.cfg)"
@@ -6174,6 +6204,30 @@ msgstr "Lokalizacja"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Locales Filter"
+msgstr "Lokalizacja"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Utwórz Kości"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtry"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Lokalizacja"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "AutoLoad"
msgstr "Autoładowanie"
@@ -7801,6 +7855,13 @@ msgstr "BÅ‚Ä…d Å‚adowania fonta."
msgid "Invalid font size."
msgstr "Niepoprawny rozmiar fonta."
+#~ msgid "Filter:"
+#~ msgstr "Filtr:"
+
+#, fuzzy
+#~ msgid "Theme"
+#~ msgstr "Zapisz motyw"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Lista metod '%s':"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index 53881a76de..6f42056ecf 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -1,5 +1,6 @@
# Pirate translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Zion Nimchuk <zionnimchuk@gmail.com>, 2016-2017.
@@ -1205,10 +1206,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1653,19 +1650,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -2185,7 +2187,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3839,7 +3841,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4301,7 +4303,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4395,7 +4398,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5154,7 +5158,11 @@ msgid "Remove All"
msgstr "Discharge ye' Signal"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5437,7 +5445,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5566,6 +5574,12 @@ 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 ""
@@ -5596,6 +5610,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5819,6 +5837,14 @@ 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 ""
@@ -5879,6 +5905,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Paste yer Node"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index 5ad3ae0989..490ad2accc 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -1,5 +1,6 @@
# Portuguese (Brazil) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Allyson Souza <allyson_as@outlook.com>, 2017.
@@ -9,15 +10,15 @@
# Joaquim Ferreira <joaquimferreira1996@bol.com.br>, 2016.
# jonathan railarem <railarem@gmail.com>, 2017.
# Mailson Silva Marins <mailsons335@gmail.com>, 2016.
-# manokara <marknokalt@live.com>, 2017.
+# Marcus Correia <marknokalt@live.com>, 2017.
# Michael Alexsander Silva Dias <michael.a.s.dias@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2017-10-21 09:44+0000\n"
-"Last-Translator: manokara <marknokalt@live.com>\n"
+"PO-Revision-Date: 2017-10-22 02:54+0000\n"
+"Last-Translator: Marcus Correia <marknokalt@live.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -92,9 +93,8 @@ msgid "Anim Track Change Value Mode"
msgstr "Mudar Modo de Valor da Trilha"
#: editor/animation_editor.cpp
-#, fuzzy
msgid "Anim Track Change Wrap Mode"
-msgstr "Mudar Modo de Valor da Trilha"
+msgstr "Mudar Modo de Cobertura da Trilha de Animação"
#: editor/animation_editor.cpp
msgid "Edit Node Curve"
@@ -663,9 +663,8 @@ msgstr ""
"Removê-los mesmo assim? (irreversível)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Cannot remove:\n"
-msgstr "Não foi possível resolver."
+msgstr "Não foi possível remover:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -752,32 +751,31 @@ msgstr "Autores"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "Patrocinadores Platina"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "Patrocinadores Ouro"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "Patrocinadores Mini"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "Doadores Ouro"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "Doadores Prata"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "Clonar Abaixo"
+msgstr "Doadores Bronze"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "Doadores"
#: editor/editor_about.cpp
msgid "License"
@@ -846,44 +844,36 @@ msgid "Add Effect"
msgstr "Ad. Efeito"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Rename Audio Bus"
-msgstr "Renomear Pista de Ãudio"
+msgstr "Renomear Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Toggle Audio Bus Solo"
-msgstr "Alternar Solo da Pista de Ãudio"
+msgstr "Alternar Solo do Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Toggle Audio Bus Mute"
-msgstr "Alternar Silenciamento da Pista de Ãudio"
+msgstr "Alternar Silenciamento do Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Toggle Audio Bus Bypass Effects"
-msgstr "Alternar Efeitos de Desvio da Pista de Ãudio."
+msgstr "Alternar Efeitos de Desvio do Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Select Audio Bus Send"
-msgstr "Selecionar pista de áudio para envio"
+msgstr "Selecionar Canal de Ãudio para Envio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Add Audio Bus Effect"
-msgstr "Adicionar efeito à Pista de àudio"
+msgstr "Adicionar Efeito ao Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Move Bus Effect"
-msgstr "Mover efeito da pista"
+msgstr "Mover Efeito de Canal"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Delete Bus Effect"
-msgstr "Excluir efeito da pista"
+msgstr "Excluir Efeito de Canal"
#: editor/editor_audio_buses.cpp
msgid "Audio Bus, Drag and Drop to rearrange."
@@ -911,75 +901,64 @@ msgid "Duplicate"
msgstr "Duplicar"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "Redefinir Ampliação"
+msgstr "Redefinir Volume"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
msgstr "Excluir Efeito"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Add Audio Bus"
-msgstr "Adicionar pista de áudio"
+msgstr "Adicionar Canal de Ãudio"
#: editor/editor_audio_buses.cpp
msgid "Master bus can't be deleted!"
msgstr "Pista mestre não pode ser deletada!"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Delete Audio Bus"
-msgstr "Excluir pista de áudio"
+msgstr "Excluir Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Duplicate Audio Bus"
-msgstr "Duplicar pista de áudio"
+msgstr "Duplicar Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "Redefinir Ampliação"
+msgstr "Redefinir Volume do Canal"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Move Audio Bus"
-msgstr "Mover pista de áudio"
+msgstr "Mover Canal de Ãudio"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Save Audio Bus Layout As.."
-msgstr "Salvar layout das pista de áudio como..."
+msgstr "Salvar Layout de Canais de Ãudio Como..."
#: editor/editor_audio_buses.cpp
msgid "Location for New Layout.."
msgstr "Localização para o Novo Layout.."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Open Audio Bus Layout"
-msgstr "Abrir Layout de Pista de Ãudio"
+msgstr "Abrir Layout de Canais de Ãudio"
#: editor/editor_audio_buses.cpp
msgid "There is no 'res://default_bus_layout.tres' file."
msgstr "Não há nenhum arquivo 'res://default_bus_layout.tres'."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Invalid file, not an audio bus layout."
-msgstr "Arquivo inválido, não é um layout de pista de áudio."
+msgstr "Arquivo inválido, não é um layout de canais de áudio."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Add Bus"
-msgstr "Adicionar Pista"
+msgstr "Adicionar Canal"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Create a new Bus Layout."
-msgstr "Criar um novo Layout de Pista."
+msgstr "Criar um novo Layout de Canais."
#: editor/editor_audio_buses.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
@@ -987,9 +966,8 @@ msgid "Load"
msgstr "Carregar"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Load an existing Bus Layout."
-msgstr "Carregar um Layout de Pista existente."
+msgstr "Carregar um Layout de Canais existente."
#: editor/editor_audio_buses.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -997,18 +975,16 @@ msgid "Save As"
msgstr "Salvar Como"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Save this Bus Layout to a file."
-msgstr "Salvar este Layout de Bus em um arquivo."
+msgstr "Salvar este Layout de Canais em um arquivo."
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
msgid "Load Default"
msgstr "Carregar Padrão"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Load the default Bus Layout."
-msgstr "Carregar o Layout de Bus padrão."
+msgstr "Carregar o Layout de Canais padrão."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -1236,9 +1212,8 @@ msgid "Move Favorite Down"
msgstr "Mover Favorito Abaixo"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "Não foi possível criar a pasta."
+msgstr "Ir para pasta pai"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1254,10 +1229,6 @@ msgid "File:"
msgstr "Arquivo:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filtro:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Deve usar uma extensão válida."
@@ -1303,27 +1274,24 @@ msgid "Brief Description:"
msgstr "Descrição breve:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "Membros:"
+msgstr "Membros"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "Membros:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "Métodos Públicos:"
+msgstr "Métodos Públicos"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "Métodos Públicos:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "Itens do Tema de GUI:"
+msgstr "Itens do Tema de GUI"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1334,9 +1302,8 @@ msgid "Signals:"
msgstr "Sinais:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "Enumerações:"
+msgstr "Enumerações"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1347,23 +1314,20 @@ msgid "enum "
msgstr "enum "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "Constantes:"
+msgstr "Constantes"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "Constantes:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "Descrição:"
+msgstr "Descrição"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "Propriedades:"
+msgstr "Propriedades"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1374,11 +1338,12 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Atualmente não existe descrição para esta propriedade. Por favor nos ajude "
+"[color=$color][url=$url]contribuindo uma[/url][/color]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "Lista de Métodos:"
+msgstr "Métodos"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1389,6 +1354,8 @@ msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
+"Atualmente não existe descrição para este método. Por favor nos ajude [color="
+"$color][url=$url]contribuindo uma[/url][/color]!"
#: editor/editor_help.cpp
msgid "Search Text"
@@ -1430,28 +1397,24 @@ msgid "Error while saving."
msgstr "Erro ao salvar."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "Não é possível operar em \"..\""
+msgstr "Não é possível abrir '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while parsing '%s'."
-msgstr "Erro ao salvar."
+msgstr "Erro ao processar '%s'."
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
-msgstr ""
+msgstr "Final inesperado do arquivo '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "A cena \"%s\" tem dependências quebradas:"
+msgstr "Falta '%s' ou suas dependências."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "Erro ao salvar."
+msgstr "Erro ao carregar '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1466,9 +1429,8 @@ msgid "Creating Thumbnail"
msgstr "Criando Miniatura"
#: editor/editor_node.cpp
-#, fuzzy
msgid "This operation can't be done without a tree root."
-msgstr "Essa operação não pode ser realizada sem uma cena."
+msgstr "Essa operação não pode ser realizada sem uma raiz da cena."
#: editor/editor_node.cpp
msgid ""
@@ -1519,18 +1481,25 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Este recurso pertence a uma cena que foi importada, mas não é editável.\n"
+"Por favor, leia a documentação referente a importação de cenas para entender "
+"melhor esse procedimento."
#: 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 ""
+"Este recurso pertence a uma cena que foi instanciada ou herdada.\n"
+"Mudanças nele não serão mantidas ao salvar a cena atual."
#: 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 ""
+"Este recurso foi importado, então não é editável. Mude suas configurações no "
+"painel de importação e então re-importe."
#: editor/editor_node.cpp
msgid ""
@@ -1539,6 +1508,10 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Essa cena foi importada, então mudanças nela não irão ser mantidas.\n"
+"Instanciar ou herdar a cena permitirá fazer mudanças a ela.\n"
+"Por favor, leia a documentação referente a importação de cenas para entender "
+"melhor esse procedimento."
#: editor/editor_node.cpp
msgid "Copy Params"
@@ -1703,12 +1676,10 @@ msgid "Save & Quit"
msgstr "Salvar e Sair"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to the following scene(s) before quitting?"
msgstr "Salvar mudanças na(s) seguinte(s) cena(s) antes de sair?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes the following scene(s) before opening Project Manager?"
msgstr ""
"Salvar mudanças na(s) seguinte(s) cena(s) antes de abrir o Gerenciador de "
@@ -1719,26 +1690,38 @@ msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
+"Esta opção está descontinuada. Situações em que a atualização precisa ser "
+"forçada são consideradas um bug agora. Reporte por favor."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
msgstr "Escolha uma Cena Principal"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "Não foi possível ativar o plugin em: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' falha no processamento de configurações."
-
-#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
"Não foi possível encontrar o campo de script para o plugin em: 'res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Não foi possível carregar o script de extensão no caminho: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "Não foi possível carregar o script de extensão no caminho: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "Não foi possível carregar o script de extensão no caminho: '"
#: editor/editor_node.cpp
@@ -1767,9 +1750,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "A cena \"%s\" tem dependências quebradas:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "Limpar Ossos"
+msgstr "Limpar Cenas Recentes"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -2035,14 +2017,12 @@ msgid "Online Docs"
msgstr "Docs Online"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Q&A"
-msgstr "Q&A"
+msgstr "Perguntas e Respostas"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Issue Tracker"
-msgstr "Rastreador de problemas"
+msgstr "Rastreador de Problemas"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
@@ -2145,9 +2125,8 @@ msgid "Object properties."
msgstr "Propriedades do objeto."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "Alterar Grupo de Imagens"
+msgstr "Mudanças podem ser perdidas!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2231,9 +2210,8 @@ msgid "Open the previous Editor"
msgstr "Abrir o Editor anterior"
#: editor/editor_plugin.cpp
-#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "Criando MeshLibrary"
+msgstr "Criando Previsualizações de Malha"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2285,7 +2263,8 @@ msgid "Frame %"
msgstr "% de Quadro"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "% de Quadro Fixo"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2358,9 +2337,8 @@ msgid "Import From Node:"
msgstr "Importar a Partir do Nó:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Re-Download"
-msgstr "Recarregar"
+msgstr "Baixar Novamente"
#: editor/export_template_manager.cpp
msgid "Uninstall"
@@ -2383,7 +2361,6 @@ msgid "(Current)"
msgstr "(Atual)"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Remove template version '%s'?"
msgstr "Remover versão '%s' do modelo?"
@@ -2392,23 +2369,20 @@ msgid "Can't open export templates zip."
msgstr "Não se pôde abrir zip dos modelos de exportação."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Invalid version.txt format inside templates."
-msgstr "Formato do version.txt dentro de templates é inválido."
+msgstr "Formato do version.txt dentro dos modelos é inválido."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Invalid version.txt format inside templates. Revision is not a valid "
"identifier."
msgstr ""
-"Formato do version.txt dentro de templates é inválido. A revisão não é um "
+"Formato do version.txt dentro dos modelos é inválido. A revisão não é um "
"identificador válido."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "No version.txt found inside templates."
-msgstr "Não foi encontrado um version.txt dentro de templates."
+msgstr "Não foi encontrado um version.txt dentro dos modelos."
#: editor/export_template_manager.cpp
msgid "Error creating path for templates:\n"
@@ -2458,17 +2432,20 @@ msgstr "Não é possível navegar para '"
#: editor/filesystem_dock.cpp
msgid "View items as a grid of thumbnails"
-msgstr ""
+msgstr "Visualizar itens como uma grade de miniaturas"
#: editor/filesystem_dock.cpp
msgid "View items as a list"
-msgstr ""
+msgstr "Visualizar itens como uma lista"
#: editor/filesystem_dock.cpp
msgid ""
"\n"
"Status: Import of file failed. Please fix file and reimport manually."
msgstr ""
+"\n"
+"Estado: Falha na importação do arquivo. Por favor, conserte o arquivo e re-"
+"importe manualmente."
#: editor/filesystem_dock.cpp
msgid ""
@@ -2479,57 +2456,48 @@ msgstr ""
"Origem: "
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr "Não se pôde carregar/processar fonte de origem."
+msgstr "Não foi possível mover/renomear raiz dos recurso."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself.\n"
-msgstr "Não é possível importar arquivo sobre si mesmo:"
+msgstr "Não é possível mover uma pasta nela mesma.\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:\n"
-msgstr "Erro ao mover diretório:\n"
+msgstr "Erro ao mover:\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Unable to update dependencies:\n"
-msgstr "A cena \"%s\" tem dependências quebradas:"
+msgstr "Não foi possível atualizar dependências:\n"
#: editor/filesystem_dock.cpp
msgid "No name provided"
-msgstr ""
+msgstr "Nenhum nome fornecido"
#: editor/filesystem_dock.cpp
msgid "Provided name contains invalid characters"
-msgstr ""
+msgstr "O nome fornecido contém caracteres inválidos"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "No name provided."
-msgstr "Renomear ou Mover..."
+msgstr "Nenhum nome fornecido."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Name contains invalid characters."
-msgstr "Caracteres válidos:"
+msgstr "Nome contém caracteres inválidos."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "A file or folder with this name already exists."
-msgstr "O nome do grupo já existe!"
+msgstr "Um arquivo ou pasta com esse nome já existe."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming file:"
-msgstr "Renomear Variável"
+msgstr "Renomear arquivo:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming folder:"
-msgstr "Renomear Nó"
+msgstr "Renomear pasta:"
#: editor/filesystem_dock.cpp
msgid "Expand all"
@@ -2544,18 +2512,16 @@ msgid "Copy Path"
msgstr "Copiar Caminho"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Rename.."
-msgstr "Renomear"
+msgstr "Renomear..."
#: editor/filesystem_dock.cpp
msgid "Move To.."
msgstr "Mover Para..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Folder.."
-msgstr "Criar Pasta"
+msgstr "Nova Pasta..."
#: editor/filesystem_dock.cpp
msgid "Show In File Manager"
@@ -2623,9 +2589,8 @@ msgid "Import as Single Scene"
msgstr "Importar como Cena Única"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Animations"
-msgstr "Importar com Materiais Separados"
+msgstr "Importar com Animações Separadas"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
@@ -2640,19 +2605,16 @@ msgid "Import with Separate Objects+Materials"
msgstr "Importar com Objetos+Materiais serparados"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Objects+Animations"
-msgstr "Importar com Objetos+Materiais serparados"
+msgstr "Importar com Objetos+Animações Separados"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Materials+Animations"
-msgstr "Importar com Materiais Separados"
+msgstr "Importar com Materiais+Animações Separados"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Import with Separate Objects+Materials+Animations"
-msgstr "Importar com Objetos+Materiais serparados"
+msgstr "Importar com Objetos+Materiais+Animações Separados"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
@@ -2739,9 +2701,8 @@ msgid "Edit Poly"
msgstr "Editar Polígono"
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Insert Point"
-msgstr "Inserindo"
+msgstr "Inserir Ponto"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3307,14 +3268,12 @@ msgid "Edit CanvasItem"
msgstr "Editar CanvaItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Anchors only"
-msgstr "Âncora"
+msgstr "Apenas âncoras"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Anchors and Margins"
-msgstr "Alterar Âncoras"
+msgstr "Alterar Âncoras e Margens"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
@@ -3351,7 +3310,6 @@ msgid "Move Mode"
msgstr "Modo Mover"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Rotate Mode"
msgstr "Modo Rotacionar"
@@ -3373,9 +3331,8 @@ msgid "Pan Mode"
msgstr "Modo Panorâmico"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggles snapping"
-msgstr "Alternar Ponto de interrupção"
+msgstr "Alternar Encaixar"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3383,23 +3340,20 @@ msgid "Use Snap"
msgstr "Usar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snapping options"
-msgstr "Opções da Animação"
+msgstr "Opções da Encaixe"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to grid"
-msgstr "Modo Snap:"
+msgstr "Encaixar na grade"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
msgstr "Usar Snap de Rotação"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Configure Snap..."
-msgstr "Configurar Snap..."
+msgstr "Configurar Encaixe..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
@@ -3411,24 +3365,23 @@ msgstr "Usar Snap de Pixel"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Smart snapping"
-msgstr ""
+msgstr "Encaixe inteligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to parent"
-msgstr "Expandir para Pai"
+msgstr "Encaixar no pai"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to node anchor"
-msgstr ""
+msgstr "Encaixar na âncora do nó"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to node sides"
-msgstr ""
+msgstr "Encaixar nos lados do lá"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
-msgstr ""
+msgstr "Encaixar em outros nós"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
@@ -3477,14 +3430,12 @@ msgid "Show Grid"
msgstr "Mostrar Grade"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show helpers"
-msgstr "Mostrar Ossos"
+msgstr "Mostrar auxiliadores"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show rulers"
-msgstr "Mostrar Ossos"
+msgstr "Mostrar réguas"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3495,9 +3446,8 @@ msgid "Frame Selection"
msgstr "Seleção de Quadros"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "Salvar Layout"
+msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Keys"
@@ -3521,20 +3471,19 @@ msgstr "Limpar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag pivot from mouse position"
-msgstr ""
+msgstr "Arrastar o pivô para a posição do mouse"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Set pivot at mouse position"
-msgstr "Definir Pos da Saída da Curva"
+msgstr "Colocar o pivô na posição do mouse"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
-msgstr ""
+msgstr "Multiplifcar passo da grade por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Divide grid step by 2"
-msgstr ""
+msgstr "Dividir passo da grade por 2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -3613,40 +3562,35 @@ msgstr "Atualizar a partir de 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
-#, fuzzy
msgid "Ease in"
-msgstr "Ease In"
+msgstr "Suavizar início"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Ease out"
-msgstr "Ease Out"
+msgstr "Suavizar final"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr ""
+msgstr "Passo suave"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Modify Curve Point"
msgstr "Modificar Ponto da Curva"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Modify Curve Tangent"
msgstr "Modificar Tangente da Curva"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Curve Preset"
-msgstr "Carregar Recurso"
+msgstr "Carregar Definição de Curva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Add point"
@@ -3665,19 +3609,16 @@ msgid "Right linear"
msgstr "Linear direita"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load preset"
-msgstr "Carregar Recurso"
+msgstr "Carregar definição"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Curve Point"
-msgstr "Remover Ponto do Caminho"
+msgstr "Remover Ponto da Curva"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Curve Linear Tangent"
-msgstr "Alternar Curva Linear Tangente"
+msgstr "Alternar Curva Targente Linear"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Hold Shift to edit tangents individually"
@@ -3966,73 +3907,65 @@ msgid "Bake!"
msgstr "Precalcular!"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Bake the navigation mesh.\n"
-msgstr "Criar Mesh de Navegação"
+msgstr "Preparar a malha de navegação.\n"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Clear the navigation mesh."
-msgstr "Criar Mesh de Navegação"
+msgstr "Apagar a malha de navegação."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Setting up Configuration..."
-msgstr ""
+msgstr "Preparando Configuração..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Calculating grid size..."
-msgstr ""
+msgstr "Calculando tamanho da grade..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating heightfield..."
-msgstr "Criando Luz Octree"
+msgstr "Criando mapa de altura..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Marking walkable triangles..."
-msgstr "Strings Traduzíveis..."
+msgstr "Marcando triângulos caminháveis..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Constructing compact heightfield..."
-msgstr ""
+msgstr "Construindo um mapa de altura compacto..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Eroding walkable area..."
-msgstr ""
+msgstr "Erodindo área caminhável..."
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
-msgstr "Aviso"
+msgid "Partitioning..."
+msgstr "Particionando..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating contours..."
-msgstr "Criando Textura Octree"
+msgstr "Criando contornos..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating polymesh..."
-msgstr "Criar Mesh de Contorno..."
+msgstr "Criando polimalha..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Converting to native navigation mesh..."
-msgstr "Criar Mesh de Navegação"
+msgstr "Convertando para malha de navegação nativa..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Navigation Mesh Generator Setup:"
-msgstr ""
+msgstr "Configuração do Gerador de Malha de Navegação:"
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Parsing Geometry..."
-msgstr "Analisando Geometria"
+msgstr "Analisando Geometria..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Done!"
-msgstr ""
+msgstr "Pronto!"
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
@@ -4048,10 +3981,9 @@ msgid "Generating AABB"
msgstr "Gerando AABB"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Can only set point into a ParticlesMaterial process material"
msgstr ""
-"Só é permitido colocar um ponto em um material processador ParticlesMaterial."
+"Só é permitido colocar um ponto em um material processador ParticlesMaterial"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Error loading image:"
@@ -4108,7 +4040,6 @@ msgid "Node does not contain geometry (faces)."
msgstr "O nó não contém geometria (faces)."
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr "Um material processador do tipo 'ParticlesMaterial' é necessário."
@@ -4169,14 +4100,12 @@ msgid "Remove Point from Curve"
msgstr "Remover Ponto da Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Remove Out-Control from Curve"
-msgstr "Mover Controle de Saída na Curva"
+msgstr "Remover Controle de Saída da Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Remove In-Control from Curve"
-msgstr "Remover Ponto da Curva"
+msgstr "Remover Controle de Entrada da Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -4214,19 +4143,16 @@ msgid "Curve Point #"
msgstr "Ponto da Curva nº"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Point Position"
-msgstr "Definir Pos do Ponto da Curva"
+msgstr "Definir Posição do Ponto da Curva"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve In Position"
-msgstr "Definir Pos da Entrada da Curva"
+msgstr "Colocar a Curva na Posição"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Out Position"
-msgstr "Definir Pos da Saída da Curva"
+msgstr "Definir Posição de Saída da Curva"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
@@ -4237,14 +4163,12 @@ msgid "Remove Path Point"
msgstr "Remover Ponto do Caminho"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Remove Out-Control Point"
-msgstr "Mover Controle de Saída na Curva"
+msgstr "Remover Ponto de Controle de Saída"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Remove In-Control Point"
-msgstr "Mover Controle de Entrada na Curva"
+msgstr "Remover Ponto de Controle de Entrada"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
@@ -4354,9 +4278,8 @@ msgid "Paste"
msgstr "Colar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Clear Recent Files"
-msgstr "Limpar Ossos"
+msgstr "Limpar Arquivos Recentes"
#: editor/plugins/script_editor_plugin.cpp
msgid ""
@@ -4443,18 +4366,16 @@ msgid "Close Docs"
msgstr "Fechar Docs"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Close All"
-msgstr "Fechar"
+msgstr "Fechar Tudo"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
msgid "Run"
msgstr "Rodar"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Scripts Panel"
-msgstr "Alternar Favorito"
+msgstr "Alternar Painel de Scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4480,7 +4401,8 @@ msgstr "Passo para dentro"
msgid "Break"
msgstr "Pausar"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Continuar"
@@ -4489,14 +4411,12 @@ msgid "Keep Debugger Open"
msgstr "Manter Depurador Aberto"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Debug with external editor"
-msgstr "Abrir o próximo Editor"
+msgstr "Depurar com um editor externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open Godot online documentation"
-msgstr "Pesquise a documentação de referência."
+msgstr "Abrir a documentação online da Godot"
#: editor/plugins/script_editor_plugin.cpp
msgid "Search the class hierarchy."
@@ -4515,9 +4435,8 @@ msgid "Go to next edited document."
msgstr "Ir para o próximo documento editado."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Discard"
-msgstr "Discreto"
+msgstr "Descartar"
#: editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4551,19 +4470,16 @@ msgstr ""
"carregada"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Only resources from filesystem can be dropped."
msgstr "Apenas recursos de Arquivos podem ser soltos."
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Pick Color"
-msgstr "Cor"
+msgstr "Escolher Cor"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert Case"
-msgstr "Convertendo Imagens"
+msgstr "Converter Maíusculas/Minúsculas"
#: editor/plugins/script_text_editor.cpp
msgid "Uppercase"
@@ -4584,7 +4500,8 @@ msgid "Cut"
msgstr "Recortar"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Copiar"
@@ -4604,9 +4521,8 @@ msgid "Move Down"
msgstr "Mover para Baixo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Delete Line"
-msgstr "Excluir Ponto"
+msgstr "Excluir Linha"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Left"
@@ -4662,14 +4578,12 @@ msgid "Goto Previous Breakpoint"
msgstr "Ir ao Ponto de Interrupção Anterior"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert To Uppercase"
-msgstr "Converter Para..."
+msgstr "Converter para Maíusculo"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Convert To Lowercase"
-msgstr "Converter Para..."
+msgstr "Converter Para Minúsculo"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp
@@ -4911,28 +4825,24 @@ msgid "Objects Drawn"
msgstr "Objetos Desenhados"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Material Changes"
-msgstr "Atualizar nas Mudanças"
+msgstr "Mudanças de Material"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Shader Changes"
-msgstr "Atualizar nas Mudanças"
+msgstr "Mudanças de Shader"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Surface Changes"
-msgstr "Atualizar nas Mudanças"
+msgstr "Mudanças de Superfície"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Draw Calls"
msgstr "Chamadas de Desenho"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Vertices"
-msgstr "Vértice"
+msgstr "Vértices"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align with view"
@@ -4951,19 +4861,16 @@ msgid "Display Overdraw"
msgstr "Exibição Overdraw"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Display Unshaded"
-msgstr "Exibição Shadeless"
+msgstr "Exibir Sem Sombreamento"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View Environment"
-msgstr "Ambiente"
+msgstr "Visualizar Ambiente"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View Gizmos"
-msgstr "Gizmos"
+msgstr "Visualizar Gizmos"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Information"
@@ -4974,66 +4881,58 @@ msgid "Audio Listener"
msgstr "Ouvinte de Ãudio"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Doppler Enable"
-msgstr "Habilitar"
+msgstr "Habilitar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Left"
-msgstr "Olhar Livre à Esquerda"
+msgstr "Visão Livre Esquerda"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Right"
-msgstr "Olhar Livre à Direita"
+msgstr "Visão Livre Direita"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Forward"
-msgstr "Avançar"
+msgstr "Visão Livre Frente"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Backwards"
-msgstr "Para trás"
+msgstr "Visão Livre Trás"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Up"
-msgstr "Olhar Livre Acima"
+msgstr "Visão Livre Cima"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Down"
-msgstr "Roda para Baixo."
+msgstr "Visão Livre Baixo"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Freelook Speed Modifier"
-msgstr "Modificador de velocidade do Olhar Livre"
+msgstr "Modificador de velocidade da Visão Livre"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "preview"
-msgstr "Visualização"
+msgstr "previsualizar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
msgstr "Diálogo XForm"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Select Mode (Q)\n"
-msgstr "Modo de Seleção"
+msgstr "Modo de Seleção (Q)\n"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Drag: Rotate\n"
"Alt+Drag: Move\n"
"Alt+RMB: Depth list selection"
-msgstr "Alt+RMB: Lista de seleção de profundidade"
+msgstr ""
+"Arrastar: Rotacionar\n"
+"Alt+Arrastar: Mover\n"
+"Alt+RMB: Lista de Profundidade"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Move Mode (W)"
@@ -5080,9 +4979,8 @@ msgid "Insert Animation Key"
msgstr "Inserir Chanve de Animação"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Focus Origin"
-msgstr "Ver Origem"
+msgstr "Origem do Foco"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Selection"
@@ -5093,24 +4991,20 @@ msgid "Align Selection With View"
msgstr "Alinhar Seleção com Visualização"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Select"
-msgstr "Selecionar"
+msgstr "Ferramenta Selecionar"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Move"
-msgstr "Mover"
+msgstr "Ferramenta Mover"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Rotate"
-msgstr "Ctrl: Rotaciona"
+msgstr "Ferramenta Rotacionar"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Tool Scale"
-msgstr "Escala:"
+msgstr "Ferramenta Escalar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform"
@@ -5282,23 +5176,20 @@ msgid "Insert Empty (After)"
msgstr "Inserir Vazio (Depois)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (Before)"
-msgstr "Remover Nó(s)"
+msgstr "Mover (Antes)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (After)"
-msgstr "Mover para Esquerda"
+msgstr "Mover (Depois)"
#: editor/plugins/style_box_editor_plugin.cpp
msgid "StyleBox Preview:"
msgstr "Pré-Visualização do StyleBox:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Set Region Rect"
-msgstr "Definir region_rect"
+msgstr "Definir Retângulo de Região"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap Mode:"
@@ -5358,19 +5249,20 @@ msgid "Remove Item"
msgstr "Remover Item"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Items"
-msgstr "Remover Itens de Classe"
+msgstr "Remover Todos os Itens"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All"
-msgstr "Remover"
+msgstr "Remover Tudo"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Theme"
-msgstr "Salvar Tema"
+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"
@@ -5394,7 +5286,7 @@ msgstr "Rádio Checkbox 1"
#: editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio2"
-msgstr "Rádio CheckBox 2"
+msgstr "Caixa de Seleção 2"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Item"
@@ -5462,7 +5354,6 @@ msgid "Color"
msgstr "Cor"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Erase Selection"
msgstr "Apagar Seleção"
@@ -5471,19 +5362,16 @@ msgid "Paint TileMap"
msgstr "Pintar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Line Draw"
-msgstr "Linear"
+msgstr "Desenhar Linha"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Rectangle Paint"
msgstr "Pintura Retângular"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill"
-msgstr "Balde"
+msgstr "Preenchimento de Balde"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase TileMap"
@@ -5510,9 +5398,8 @@ msgid "Mirror Y"
msgstr "Espelhar Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Paint Tile"
-msgstr "Pintar TileMap"
+msgstr "Pintar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -5563,29 +5450,26 @@ msgid "Error"
msgstr "Erro"
#: editor/project_export.cpp
-#, fuzzy
msgid "Runnable"
-msgstr "Habilitar"
+msgstr "Executável"
#: editor/project_export.cpp
-#, fuzzy
msgid "Delete patch '"
-msgstr "Deletar Entrada"
+msgstr "Deletar alteração '"
#: editor/project_export.cpp
-#, fuzzy
msgid "Delete preset '%s'?"
-msgstr "Excluir os arquivos selecionados?"
+msgstr "Excluir definição '%s'?"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Modelos de exportação para esta plataforma não foram encontrados:"
+msgstr ""
+"Modelos de exportação para esta plataforma não foram encontrados/estão "
+"corrompidos: "
#: editor/project_export.cpp
-#, fuzzy
msgid "Presets"
-msgstr "Predefinição..."
+msgstr "Predefiniçoes"
#: editor/project_export.cpp editor/project_settings_editor.cpp
msgid "Add.."
@@ -5596,68 +5480,58 @@ msgid "Resources"
msgstr "Recursos"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export all resources in the project"
-msgstr "Exportar todos os recursos no projeto."
+msgstr "Exportar todos os recursos do projeto"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export selected scenes (and dependencies)"
-msgstr "Exportar recursos selecionados (incluindo dependências)."
+msgstr "Exportar cenas selecionadas (incluindo dependências)"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export selected resources (and dependencies)"
-msgstr "Exportar recursos selecionados (incluindo dependências)."
+msgstr "Exportar recursos selecionados (incluindo dependências)"
#: editor/project_export.cpp
msgid "Export Mode:"
msgstr "Modo de Exportação:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Resources to export:"
-msgstr "Recursos a Exportar:"
+msgstr "Recursos para Exportar:"
#: editor/project_export.cpp
-#, fuzzy
msgid ""
"Filters to export non-resource files (comma separated, e.g: *.json, *.txt)"
msgstr ""
"Filtros para exportar arquivos que não sejam recursos (separados por "
-"vírgula, e.g.: *.json, *.txt):"
+"vírgula, e.g.: *.json, *.txt)"
#: editor/project_export.cpp
-#, fuzzy
msgid ""
"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)"
msgstr ""
"Filtros para excluir da exportação (separados por vírgula, e.g.: *.json, *."
-"txt):"
+"txt)"
#: editor/project_export.cpp
-#, fuzzy
msgid "Patches"
-msgstr "Combinações:"
+msgstr "Alterações"
#: editor/project_export.cpp
-#, fuzzy
msgid "Make Patch"
-msgstr "Caminho Destino:"
+msgstr "Criar Alteração"
#: editor/project_export.cpp
-#, fuzzy
msgid "Features"
-msgstr "Textura"
+msgstr "Funcionalidades"
#: editor/project_export.cpp
msgid "Custom (comma-separated):"
msgstr "Personalizado (separado por vírgula):"
#: editor/project_export.cpp
-#, fuzzy
msgid "Feature List:"
-msgstr "Lista de Métodos:"
+msgstr "Lista de Funcionalidades:"
#: editor/project_export.cpp
msgid "Export PCK/Zip"
@@ -5668,34 +5542,35 @@ msgid "Export templates for this platform are missing:"
msgstr "Modelos de exportação para esta plataforma não foram encontrados:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Modelos de exportação para esta plataforma não foram encontrados:"
+msgstr ""
+"Modelos de exportação para esta plataforma não foram encontrados/estão "
+"corrompidos:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export With Debug"
-msgstr "Exportar Tile Set"
+msgstr "Exportar Com Depuração"
#: editor/project_manager.cpp
-#, fuzzy
-msgid "The path does not exists."
-msgstr "O arquivo não existe."
+msgid "The path does not exist."
+msgstr "O caminho não existe."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Please choose a 'project.godot' file."
-msgstr "Por favor export para fora da pasta do projeto!"
+msgstr "Por favor, escolha um arquivo '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 ""
+"Seu projeto será criado em uma pasta não vazia (você pode querer criar uma "
+"nova pasta)."
#: editor/project_manager.cpp
msgid "Please choose a folder that does not contain a 'project.godot' file."
msgstr ""
+"Por favor, escolha uma pasta que não contenha um arquivo 'project.godot'."
#: editor/project_manager.cpp
msgid "Imported Project"
@@ -5703,44 +5578,39 @@ msgstr "Projeto Importado"
#: editor/project_manager.cpp
msgid " "
-msgstr ""
+msgstr " "
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
-msgstr ""
+msgstr "Seria uma boa ideia nomear o seu projeto."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
msgstr "Caminho de projeto inválido (mudou alguma coisa?)."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in project path."
-msgstr "Não se pôde criar engine.cfg no caminho do projeto."
+msgstr "Não foi possível encontrar project.godot no caminho do projeto."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't edit project.godot in project path."
-msgstr "Não se pôde criar engine.cfg no caminho do projeto."
+msgstr "Não foi possível editar project.godot no caminho do projeto."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't create project.godot in project path."
-msgstr "Não se pôde criar engine.cfg no caminho do projeto."
+msgstr "Não foi possível criar project.godot no caminho do projeto."
#: editor/project_manager.cpp
msgid "The following files failed extraction from package:"
msgstr "Os arquivos a seguir falharam ao serem extraídos do pacote:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Rename Project"
-msgstr "Projeto Sem Nome"
+msgstr "Renomear Projeto"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in the project path."
-msgstr "Não se pôde criar engine.cfg no caminho do projeto."
+msgstr "Não foi possível encontrar project.godot no caminho do projeto."
#: editor/project_manager.cpp
msgid "New Game Project"
@@ -5763,7 +5633,6 @@ msgid "Project Name:"
msgstr "Nome do Projeto:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Create folder"
msgstr "Criar Pasta"
@@ -5784,25 +5653,22 @@ msgid "Unnamed Project"
msgstr "Projeto Sem Nome"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Can't open project"
-msgstr "Não é possível conectar..."
+msgstr "Não é possível abrir o projeto"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to open more than one project?"
msgstr "Tem certeza de que quer abrir mais de um projeto?"
#: 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 ""
-"A cena principal não foi definida, selecionar uma?\n"
-"Você pode alterá-la mais tarde nas \"Configurações do Projeto\" na categoria "
-"\"application\"."
+"Não foi possível executar o projeto: cena principal não definida.\n"
+"Por favor, defina a cena principal nas Configurações do Projeto no menu "
+"Projeto."
#: editor/project_manager.cpp
msgid ""
@@ -5813,9 +5679,8 @@ msgstr ""
"Por favor, edite o projeto para iniciar a importação inicial."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Are you sure to run more than one project?"
-msgstr "Tem certeza de que quer rodar mais de um projeto?"
+msgstr "Tem certeza de que quer executar mais de um projeto?"
#: editor/project_manager.cpp
msgid "Remove project from the list? (Folder contents will not be modified)"
@@ -5823,6 +5688,12 @@ 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 ""
+
+#: editor/project_manager.cpp
+msgid ""
"You are about the scan %s folders for existing Godot projects. Do you "
"confirm?"
msgstr ""
@@ -5838,18 +5709,16 @@ msgid "Scan"
msgstr "Escanear"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Select a Folder to Scan"
-msgstr "Selecione uma Pasta para Scanear"
+msgstr "Selecione uma Pasta para Analisar"
#: editor/project_manager.cpp
msgid "New Project"
msgstr "Novo Projeto"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Templates"
-msgstr "Remover Item"
+msgstr "Modelos"
#: editor/project_manager.cpp
msgid "Exit"
@@ -5857,8 +5726,12 @@ msgstr "Sair"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "Reinício (s):"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
-msgstr "Não é possível conectar..."
+msgstr "Não é possível executar o projeto"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -5958,18 +5831,16 @@ msgid "Change"
msgstr "Alterar"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Joypad Axis Index:"
-msgstr "Eixo do Joystick:"
+msgstr "Ãndice de Eixo do Joypad:"
#: editor/project_settings_editor.cpp
msgid "Axis"
msgstr "Eixo"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Joypad Button Index:"
-msgstr "Botão do Joystick:"
+msgstr "Ãndice de Botão do Joypad:"
#: editor/project_settings_editor.cpp
msgid "Add Input Action"
@@ -5980,9 +5851,8 @@ msgid "Erase Input Action Event"
msgstr "Apagar Evento Ação de Entrada"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Add Event"
-msgstr "Adicionar Vazio"
+msgstr "Adicionar VEvento"
#: editor/project_settings_editor.cpp
msgid "Device"
@@ -6013,39 +5883,32 @@ msgid "Wheel Down."
msgstr "Roda para Baixo."
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Add Global Property"
-msgstr "Adicionar Getter de Propriedade"
+msgstr "Adicionar Propriedad Global"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Select a setting item first!"
msgstr "Selecione um item de configuração primeiro!"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "No property '"
-msgstr "Propriedade:"
+msgstr "Não existe a propriedade '"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Setting '"
-msgstr "Configurações"
+msgstr "Configuração '"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Delete Item"
-msgstr "Deletar Entrada"
+msgstr "Excluir Item"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Can't contain '/' or ':'"
-msgstr "Não foi possível conectar ao host:"
+msgstr "Não pode conter '/' ou ':'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Already existing"
-msgstr "Alternar Persistência"
+msgstr "Já existe"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
@@ -6056,9 +5919,8 @@ msgid "Settings saved OK."
msgstr "Configurações Salvas."
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Override for Feature"
-msgstr "Sobrescrever para Feature"
+msgstr "Sobrescrever para Funcionalidade"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
@@ -6090,8 +5952,16 @@ msgstr "Remover Opção de Remapeamento de Recurso"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Mudar Tempo de Mistura"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
-msgstr "Configurações do Projeto (engine.cfg)"
+msgstr "Configurações do Projeto (project.godot)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
@@ -6150,13 +6020,36 @@ msgid "Locale"
msgstr "Localidade"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Filtrar Imagens:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Mostrar Ossos"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filtrar nós"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Localidade"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "AutoLoad"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Pick a Viewport"
-msgstr "1 Viewport"
+msgstr "Escolha uma Viewport"
#: editor/property_editor.cpp
msgid "Ease In"
@@ -6191,43 +6084,36 @@ msgid "Assign"
msgstr "Atribuir"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Select Node"
-msgstr "Selecione um Nó"
+msgstr "Selecionar Nó"
#: editor/property_editor.cpp
-#, fuzzy
msgid "New Script"
-msgstr "Próximo Script"
+msgstr "Novo Script"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Make Unique"
-msgstr "Fazer Ossos"
+msgstr "Tornar Único"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Show in File System"
-msgstr "Arquivos"
+msgstr "Mostrar em Arquivos"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Convert To %s"
-msgstr "Converter Para..."
+msgstr "Converter Para %s"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Erro ao carregar arquivo: Não é um recurso!"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Selected node is not a Viewport!"
-msgstr "Selecionar Nó(s) para Importar"
+msgstr "Nó selecionado não é uma Viewport!"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Pick a Node"
-msgstr "Selecione um Nó"
+msgstr "Escolha um Nó"
#: editor/property_editor.cpp
msgid "Bit %d, val %d."
@@ -6250,19 +6136,16 @@ msgid "Sections:"
msgstr "Seções:"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Property"
-msgstr "Selecionar Pontos"
+msgstr "Selecionar Propriedade"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Virtual Method"
-msgstr "Modo de Seleção (Q)"
+msgstr "Selecionar Método Virtual"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Method"
-msgstr "Modo de Seleção (Q)"
+msgstr "Selecionar Mtéodo"
#: editor/pvrtc_compress.cpp
msgid "Could not execute PVRTC tool:"
@@ -6314,9 +6197,8 @@ msgid "OK"
msgstr "OK"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "No parent to instance the scenes at."
-msgstr "Sem nó pai onde instanciar um filho."
+msgstr "Sem nó pai onde instanciar as cenas."
#: editor/scene_tree_dock.cpp
msgid "Error loading scene from %s"
@@ -6415,9 +6297,8 @@ msgid "Error duplicating scene to save it."
msgstr "Erro duplicando cena ao salvar."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Sub-Resources:"
-msgstr "Recursos:"
+msgstr "Sub-Recursos:"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -6444,14 +6325,12 @@ msgid "Change Type"
msgstr "Alterar Tipo"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Attach Script"
msgstr "Adicionar Script"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Clear Script"
-msgstr "Criar Script"
+msgstr "Remover Script"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
@@ -6462,9 +6341,8 @@ msgid "Save Branch as Scene"
msgstr "Salvar Ramo como Cena"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Copy Node Path"
-msgstr "Copiar Caminho"
+msgstr "Copiar Caminho do Nó"
#: editor/scene_tree_dock.cpp
msgid "Delete (No Confirm)"
@@ -6483,19 +6361,16 @@ msgstr ""
"existe um nó raiz."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Filter nodes"
-msgstr "Filtros"
+msgstr "Filtrar nós"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Attach a new or existing script for the selected node."
-msgstr "Criar um script novo para o nó selecionado."
+msgstr "Adicionar um script novo ou existente para o nó selecionado."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Clear a script for the selected node."
-msgstr "Criar um script novo para o nó selecionado."
+msgstr "Remove um script do nó selecionado."
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance? (No Undo!)"
@@ -6518,7 +6393,6 @@ msgid "Node configuration warning:"
msgstr "Aviso de configuração de nó:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has connection(s) and group(s)\n"
"Click to show signals dock."
@@ -6567,9 +6441,8 @@ msgstr ""
"Clique para fazê-los selecionáveis"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Toggle Visibility"
-msgstr "Alternar Spatial Visível"
+msgstr "Alternar Visiblidade"
#: editor/scene_tree_editor.cpp
msgid "Invalid node name, the following characters are not allowed:"
@@ -6592,19 +6465,16 @@ msgid "Select a Node"
msgstr "Selecione um Nó"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Error loading template '%s'"
-msgstr "Erro ao carregar imagem:"
+msgstr "Erro ao carregar modelo '%s'"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Error - Could not create script in filesystem."
-msgstr "Não foi possível criar o script no sistema de arquivos."
+msgstr "Erro - Não foi possível criar o script no sistema de arquivos."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Error loading script from %s"
-msgstr "Erro ao carregar cena de %s"
+msgstr "Erro ao carregar script de %s"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -6624,12 +6494,11 @@ msgstr "Caminho base inválido"
#: editor/script_create_dialog.cpp
msgid "Directory of the same name exists"
-msgstr ""
+msgstr "Um diretório de mesmo nome existe"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, will be reused"
-msgstr "O arquivo existe. Sobrescrever?"
+msgstr "O arquivo existe, será reaproveitado"
#: editor/script_create_dialog.cpp
msgid "Invalid extension"
@@ -6640,23 +6509,20 @@ msgid "Wrong extension chosen"
msgstr "Extensão errada escolhida"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid Path"
-msgstr "Caminho inválido."
+msgstr "Caminho Inválido"
#: editor/script_create_dialog.cpp
msgid "Invalid class name"
msgstr "Nome de classe inválido"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Invalid inherited parent name or path"
-msgstr "Nome da propriedade de índice inválido."
+msgstr "Nome ou caminho de pai herdado invláido"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script valid"
-msgstr "Script"
+msgstr "Script válido"
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9 and _"
@@ -6667,43 +6533,36 @@ msgid "Built-in script (into scene file)"
msgstr "Script embutido (no arquivo da cena)"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Create new script file"
-msgstr "Criar Script"
+msgstr "Criar novo arquivo de script"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Load existing script file"
-msgstr "Próximo Script"
+msgstr "Carregar arquivo de script existente"
#: editor/script_create_dialog.cpp
msgid "Language"
msgstr "Idioma"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Inherits"
-msgstr "Herda de:"
+msgstr "Herda de"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Class Name"
-msgstr "Nome da Classe:"
+msgstr "Nome da Classe"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Template"
-msgstr "Remover Item"
+msgstr "Modelo"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in Script"
msgstr "Script Embutido"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Attach Node Script"
-msgstr "Criar Script para Nó"
+msgstr "Adicionar Script ao Nó"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -6727,7 +6586,7 @@ msgstr "Função:"
#: editor/script_editor_debugger.cpp
msgid "Pick one or more items from the list to display the graph."
-msgstr ""
+msgstr "Escolhe um ou mais itens da lista para mostrar o gráfico."
#: editor/script_editor_debugger.cpp
msgid "Errors"
@@ -6791,7 +6650,7 @@ msgstr "Monitores"
#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
-msgstr "Listagem de Uso Memória de Vídeo por Recurso:"
+msgstr "Lista de Uso Memória de Vídeo por Recurso:"
#: editor/script_editor_debugger.cpp
msgid "Total:"
@@ -6886,27 +6745,24 @@ msgid "Change Particles AABB"
msgstr "Mudar o AABB das Partículas"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Change Probe Extents"
-msgstr "Alterar a Extensão do Notificador"
+msgstr "Alterar a Extensão da Sonda"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Library"
-msgstr "MeshLibrary..."
+msgstr "Biblioteca"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Status"
-msgstr "Status:"
+msgstr "Estado"
#: modules/gdnative/gd_native_library_editor.cpp
msgid "Libraries: "
-msgstr ""
+msgstr "Bibliotecas: "
#: modules/gdnative/register_types.cpp
msgid "GDNative"
-msgstr ""
+msgstr "GDNative"
#: modules/gdscript/gd_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -6957,42 +6813,34 @@ msgid "Object can't provide a length."
msgstr "Objeto não pôde fornecer um comprimento."
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Delete Selection"
-msgstr "Excluir Selecionados"
+msgstr "Excluir Seleção do Gridap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Duplicate Selection"
-msgstr "Duplicar Seleção"
+msgstr "Duplicar Seleção do GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Snap View"
-msgstr "Visão Superior"
+msgstr "Ancorar Vista"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Prev Level (%sDown Wheel)"
msgstr "Nível anterior ("
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Next Level (%sUp Wheel)"
msgstr "Nível seguinte ("
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Clip Disabled"
-msgstr "Desabilitado"
+msgstr "Corte Desabilitado"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Clip Above"
msgstr "Cortar Acima"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Clip Below"
msgstr "Cortar Abaixo"
@@ -7009,103 +6857,87 @@ msgid "Edit Z Axis"
msgstr "Editar Eixo Z"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cursor Rotate X"
-msgstr "Ctrl: Rotaciona"
+msgstr "Rotacionar Cursor em X"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cursor Rotate Y"
-msgstr "Ctrl: Rotaciona"
+msgstr "Rotacionar Cursor em Y"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cursor Rotate Z"
-msgstr "Ctrl: Rotaciona"
+msgstr "Rotacionar Cursor em Z"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cursor Back Rotate X"
-msgstr "Rotacionar Cursor em X"
+msgstr "Contra-rotacionar Cursor em X"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cursor Back Rotate Y"
msgstr "Rotacionar Cursor em Y"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cursor Back Rotate Z"
-msgstr "Rotacionar Cursor em Z"
+msgstr "Contra-rotacionar Cursor em Z"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Cursor Clear Rotation"
msgstr "Limpar Rotação do Cursor"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Create Area"
-msgstr "Criar Novo"
+msgstr "Criar Ãrea"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Create Exterior Connector"
-msgstr "Criar Novo Projeto"
+msgstr "Criar Conector de Exterior"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Erase Area"
-msgstr "Apagar TileMap"
+msgstr "Apagar Ãrea"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Selection -> Duplicate"
-msgstr "Apenas na Seleção"
+msgstr "Seleção -> Duplicar"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Selection -> Clear"
-msgstr "Apenas na Seleção"
+msgstr "Seleção -> Limpar"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Settings"
-msgstr "Configurações do Snap"
+msgstr "Configurações do GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Pick Distance:"
-msgstr "Instância:"
+msgstr "Escolha uma Distância:"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "Builds"
-msgstr ""
+msgstr "Compilações"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
"properly!"
msgstr ""
-"Um nó yieldado sem memória corrente, por favor leia a documentação sobre "
-"como usar o yield corretamente!"
+"Um nó fez um yield sem memória de trabalho, por favor leia a documentação "
+"sobre como usar yield corretamente!"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid ""
"Node yielded, but did not return a function state in the first working "
"memory."
msgstr ""
-"Nó yieldado, mas não retornou um estado de função na primeira memória "
-"corrente."
+"Nó entrou em yield, mas não retornou um estado de função na primeira memória "
+"de trabalho."
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid ""
"Return value must be assigned to first element of node working memory! Fix "
"your node please."
msgstr ""
-"Um alor de retorno deve ser atribuído ao primeiro elemento da memória "
+"Um valor de retorno deve ser atribuído ao primeiro elemento da memória "
"corrente do nó! Conserte seu node, por favor."
#: modules/visual_script/visual_script.cpp
@@ -7121,29 +6953,24 @@ msgid "Stack overflow with stack depth: "
msgstr "Sobrecarga da pilha com profundidade: "
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Signal Arguments"
-msgstr "Editar Argumentos do Sinal:"
+msgstr "Editar Argumentos do Sinal"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Argument Type"
-msgstr "Alterar Tipo de Valor do Vetor"
+msgstr "Alterar Tipo do Argumento"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Argument name"
-msgstr "Alterar Nome de Entrada"
+msgstr "Alterar Nome do Argumento"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Set Variable Default Value"
-msgstr "Alterar Valor Padrão"
+msgstr "Definir o Valor Padrão da Variável"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Set Variable Type"
-msgstr "Editar Variável:"
+msgstr "Definir o Tipo da Variável"
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
@@ -7186,7 +7013,6 @@ msgid "Add Signal"
msgstr "Adicionar Sinal"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Expression"
msgstr "Alterar Expressão"
@@ -7195,14 +7021,12 @@ msgid "Add Node"
msgstr "Adicionar Nó"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove VisualScript Nodes"
-msgstr "Remover Chaves Invalidas"
+msgstr "Remover Nós VisualScript"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Duplicate VisualScript Nodes"
-msgstr "Duplicar Nó(s) de Grafo(s)"
+msgstr "Duplicar Nós VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Meta to drop a Getter. Hold Shift to drop a generic signature."
@@ -7249,24 +7073,20 @@ msgid "Add Setter Property"
msgstr "Adicionar Setter de Propriedade"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Base Type"
-msgstr "Alterar Tipo"
+msgstr "Mudar Tipo Base"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Move Node(s)"
-msgstr "Remover Nó(s)"
+msgstr "Mover Nó(s)"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove VisualScript Node"
-msgstr "Remover Nó de Shader Graph"
+msgstr "Remover Nó VisualScript"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Connect Nodes"
-msgstr "Conectar ao Nó:"
+msgstr "Conectar Nós"
#: modules/visual_script/visual_script_editor.cpp
msgid "Condition"
@@ -7277,9 +7097,8 @@ msgid "Sequence"
msgstr "Sequência"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Switch"
-msgstr "Mudar"
+msgstr "Trocar"
#: modules/visual_script/visual_script_editor.cpp
msgid "Iterator"
@@ -7298,51 +7117,44 @@ msgid "Call"
msgstr "Chamar"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Get"
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
-#, fuzzy
msgid "Change Input Value"
-msgstr "Alterar Nome de Entrada"
+msgstr "Alterar Valor de Entrada"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Can't copy the function node."
-msgstr "Não é possível operar em \"..\""
+msgstr "Não é possível copiar o nó de função."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Clipboard is empty!"
-msgstr "Recurso da área de transferência está vazio!"
+msgstr "Ãrea de transferência vazia!"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Paste VisualScript Nodes"
-msgstr "Colar Nós"
+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 "Editando Sinal:"
+msgstr "Editar Sinal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
@@ -7417,19 +7229,16 @@ msgid "Base object is not a Node!"
msgstr "Objeto base não é um Node!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead Node!"
-msgstr "O caminho não é local"
+msgstr "O caminho não leva a um Node!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Invalid index property name '%s' in node %s."
msgstr "Nome de propriedade '%s' inválido no nó %s."
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid ": Invalid argument of type: "
-msgstr "Nome de classe pai inválido"
+msgstr ": Argumento inválido do tipo: "
#: modules/visual_script/visual_script_nodes.cpp
msgid ": Invalid arguments: "
@@ -7444,7 +7253,6 @@ msgid "VariableSet not found in script: "
msgstr "VariableSet não encontrada no script: "
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Custom node has no _step() method, can't process graph."
msgstr ""
"Nó customizado não tem um método _step(), não foi possível processar o "
@@ -7467,18 +7275,16 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Rodar HTML exportado no navegador padrão do sistema."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not write file:\n"
-msgstr "Não se pôde achar tile:"
+msgstr "Não foi possível escrever o arquivo:\n"
#: platform/javascript/export/export.cpp
msgid "Could not read file:\n"
msgstr "Não foi possível ler o arquivo:\n"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not open template for export:\n"
-msgstr "Não foi possível criar a pasta."
+msgstr "Não foi possível abrir o modelo para exportar:\n"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -7703,10 +7509,10 @@ msgstr ""
"apenas fornece dados de navegação."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"Nothing is visible because meshes have not been assigned to draw passes."
-msgstr "Nada está visível porque as malhas não foram atribuídas a draw passes."
+msgstr ""
+"Nada está visível porque as malhas não foram atribuídas a passes de desenho."
#: scene/3d/physics_body.cpp
msgid ""
@@ -7719,9 +7525,8 @@ msgstr ""
"Ao invés disso, mude o tamanho nas formas de colisão filhas."
#: scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Path property must point to a valid Spatial node to work."
-msgstr "A propriedade Caminho deve apontar a um nó Particles2D para funcionar."
+msgstr "A propriedade Caminho deve apontar para um nó Spatial para funcionar."
#: scene/3d/scenario_fx.cpp
msgid ""
@@ -7743,11 +7548,12 @@ msgid ""
"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
"it as a child of a VehicleBody."
msgstr ""
+"VehiceWheel serve para fornecer um sistema de rodas para um VehicleBody. Por "
+"favor, use ele como um filho de um VehicleBody."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid "Raw Mode"
-msgstr "Modo Panorâmico"
+msgstr "Modo Bruto"
#: scene/gui/color_picker.cpp
msgid "Add current color as a preset"
@@ -7776,7 +7582,6 @@ msgstr ""
"ocultarão ao rodar a cena."
#: 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 "
@@ -7787,13 +7592,12 @@ msgstr ""
"tamanho mínimo manualmente."
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid ""
"Default Environment as specified in Project Setings (Rendering -> Viewport -"
"> Default Environment) could not be loaded."
msgstr ""
"O Ambiente Padrão como especificado nas Configurações de Projeto "
-"(Renderização - Viewport -> Ambiente Padrão) não pode ser carregado."
+"(Renderização - Viewport -> Ambiente Padrão) não pôde ser carregado."
#: scene/main/viewport.cpp
msgid ""
@@ -7823,6 +7627,15 @@ msgstr "Erro ao carregar fonte."
msgid "Invalid font size."
msgstr "Tamanho de fonte inválido."
+#~ msgid "Filter:"
+#~ msgstr "Filtro:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' falha no processamento de configurações."
+
+#~ msgid "Theme"
+#~ msgstr "Tema"
+
#~ msgid "Method List For '%s':"
#~ msgstr "Lista de Métodos para \"%s\":"
@@ -8703,9 +8516,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Preview Atlas"
#~ msgstr "Prever Atlas"
-#~ msgid "Image Filter:"
-#~ msgstr "Filtrar Imagens:"
-
#~ msgid "Images:"
#~ msgstr "Imagens:"
diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po
index ec701bebb4..4b4a98857c 100644
--- a/editor/translations/pt_PT.po
+++ b/editor/translations/pt_PT.po
@@ -1,22 +1,24 @@
# Portuguese (Portugal) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# António Sarmento <antonio.luis.sarmento@gmail.com>, 2016.
# João Graça <jgraca95@gmail.com>, 2017.
+# Rueben Stevens <supercell03@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2017-09-28 16:47+0000\n"
-"Last-Translator: João Graça <jgraca95@gmail.com>\n"
+"PO-Revision-Date: 2017-10-25 01:48+0000\n"
+"Last-Translator: Rueben Stevens <supercell03@gmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_PT/>\n"
"Language: pt_PT\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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -24,7 +26,7 @@ msgstr "desativado"
#: editor/animation_editor.cpp
msgid "All Selection"
-msgstr ""
+msgstr "Toda a selecção"
#: editor/animation_editor.cpp
#, fuzzy
@@ -65,15 +67,15 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Remove Anim Track"
-msgstr ""
+msgstr "Remover a banda de animação"
#: editor/animation_editor.cpp
msgid "Set Transitions to:"
-msgstr ""
+msgstr "Definir transições para:"
#: editor/animation_editor.cpp
msgid "Anim Track Rename"
-msgstr ""
+msgstr "Renomear Banda de Anim"
#: editor/animation_editor.cpp
msgid "Anim Track Change Interpolation"
@@ -88,12 +90,13 @@ msgid "Anim Track Change Wrap Mode"
msgstr ""
#: editor/animation_editor.cpp
+#, fuzzy
msgid "Edit Node Curve"
-msgstr ""
+msgstr "Editar Curva de Node"
#: editor/animation_editor.cpp
msgid "Edit Selection Curve"
-msgstr ""
+msgstr "Editar Curva de Selecção"
#: editor/animation_editor.cpp
msgid "Anim Delete Keys"
@@ -101,7 +104,7 @@ msgstr ""
#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr ""
+msgstr "Duplicar Selecção"
#: editor/animation_editor.cpp
msgid "Duplicate Transposed"
@@ -109,19 +112,19 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Remove Selection"
-msgstr ""
+msgstr "Remover Selecção"
#: editor/animation_editor.cpp
msgid "Continuous"
-msgstr ""
+msgstr "Contínuo"
#: editor/animation_editor.cpp
msgid "Discrete"
-msgstr ""
+msgstr "Discreto"
#: editor/animation_editor.cpp
msgid "Trigger"
-msgstr ""
+msgstr "Gatilho"
#: editor/animation_editor.cpp
msgid "Anim Add Key"
@@ -133,28 +136,28 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Scale Selection"
-msgstr ""
+msgstr "Escalar Selecção"
#: editor/animation_editor.cpp
msgid "Scale From Cursor"
-msgstr ""
+msgstr "Alterar escala a partir do cursor"
#: editor/animation_editor.cpp
msgid "Goto Next Step"
-msgstr ""
+msgstr "Ir para o próximo passo"
#: editor/animation_editor.cpp
msgid "Goto Prev Step"
-msgstr ""
+msgstr "Ir para passo anterior"
#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
-msgstr ""
+msgstr "Linear"
#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Constant"
-msgstr ""
+msgstr "Constante"
#: editor/animation_editor.cpp
msgid "In"
@@ -174,15 +177,15 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Transitions"
-msgstr ""
+msgstr "Transições"
#: editor/animation_editor.cpp
msgid "Optimize Animation"
-msgstr ""
+msgstr "Optimizar Animação"
#: editor/animation_editor.cpp
msgid "Clean-Up Animation"
-msgstr ""
+msgstr "Limpar Animação"
#: editor/animation_editor.cpp
msgid "Create NEW track for %s and insert key?"
@@ -199,7 +202,7 @@ msgstr ""
#: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp
#: editor/script_create_dialog.cpp
msgid "Create"
-msgstr ""
+msgstr "Criar"
#: editor/animation_editor.cpp
msgid "Anim Create & Insert"
@@ -243,15 +246,15 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Length (s):"
-msgstr ""
+msgstr "Comprimento (s):"
#: editor/animation_editor.cpp
msgid "Animation length (in seconds)."
-msgstr ""
+msgstr "Duração da animação (em segundos)."
#: editor/animation_editor.cpp
msgid "Step (s):"
-msgstr ""
+msgstr "Passos (s):"
#: editor/animation_editor.cpp
msgid "Cursor step snap (in seconds)."
@@ -259,11 +262,11 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Enable/Disable looping in animation."
-msgstr ""
+msgstr "Habilitar/Desabilitar repetição na animação."
#: editor/animation_editor.cpp
msgid "Add new tracks."
-msgstr ""
+msgstr "Adicionar novas bandas."
#: editor/animation_editor.cpp
msgid "Move current track up."
@@ -275,7 +278,7 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Remove selected track."
-msgstr ""
+msgstr "Remover a banda seleccionada."
#: editor/animation_editor.cpp
msgid "Track tools"
@@ -283,7 +286,7 @@ msgstr ""
#: editor/animation_editor.cpp
msgid "Enable editing of individual keys by clicking them."
-msgstr ""
+msgstr "Habilitar a edição de chaves individuais ao clicar nelas."
#: editor/animation_editor.cpp
msgid "Anim. Optimizer"
@@ -1207,10 +1210,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1653,19 +1652,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2185,7 +2189,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3838,7 +3842,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4301,7 +4305,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4395,7 +4400,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5153,7 +5159,11 @@ msgid "Remove All"
msgstr "Remover Sinal"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5436,7 +5446,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5565,6 +5575,12 @@ 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 ""
@@ -5595,6 +5611,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5818,6 +5838,14 @@ 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 ""
@@ -5878,6 +5906,26 @@ 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 ""
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 898098d02f..05c164c3ee 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -1,5 +1,6 @@
# Russian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# B10nicMachine <shumik1337@gmail.com>, 2017.
@@ -13,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2017-09-05 19:02+0000\n"
-"Last-Translator: B10nicMachine <shumik1337@gmail.com>\n"
+"PO-Revision-Date: 2017-10-26 14:49+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"
@@ -23,7 +24,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 2.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -659,9 +660,8 @@ msgstr ""
"Ð’ÑÑ‘ равно удалить его? (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Cannot remove:\n"
-msgstr "Ðе удаетÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ñ‚ÑŒ."
+msgstr "Ðе удаетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -748,32 +748,31 @@ msgstr "Ðвторы"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "Платиновые СпонÑоры"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "Золотые СпонÑоры"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "Мини СпонÑоры"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "Золотые Доноры"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "СеребрÑные Доноры"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "Копировать вниз"
+msgstr "Бронзовые Доноры"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "Доноры"
#: editor/editor_about.cpp
msgid "License"
@@ -899,9 +898,8 @@ msgid "Duplicate"
msgstr "Дублировать"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "СброÑить приближение"
+msgstr "СброÑить громкоÑÑ‚ÑŒ"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
@@ -924,9 +922,8 @@ msgid "Duplicate Audio Bus"
msgstr "Дублировать аудио шину"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "СброÑить приближение"
+msgstr "СброÑить громкоÑÑ‚ÑŒ шины"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
@@ -1215,9 +1212,8 @@ msgid "Move Favorite Down"
msgstr "ПеремеÑтить избранное вниз"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "Ðевозможно Ñоздать папку."
+msgstr "Перейти к родительÑкой папке"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1233,10 +1229,6 @@ msgid "File:"
msgstr "Файл:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Фильтр:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Ðужно иÑпользовать доÑтупное раÑширение."
@@ -1282,27 +1274,24 @@ msgid "Brief Description:"
msgstr "Краткое опиÑание:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "УчаÑтники:"
+msgstr "УчаÑтники"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "УчаÑтники:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "СпиÑок методов:"
+msgstr "Публичные методы"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "СпиÑок методов:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "Тема Ñлементов GUI:"
+msgstr "Тема Ñлементов GUI"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1313,9 +1302,8 @@ msgid "Signals:"
msgstr "Сигналы:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "ПеречиÑлениÑ:"
+msgstr "ПеречиÑлениÑ"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1326,23 +1314,20 @@ msgid "enum "
msgstr "перечиÑление "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "КонÑтанты:"
+msgstr "КонÑтанты"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "КонÑтанты:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "ОпиÑание:"
+msgstr "ОпиÑание"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "СвойÑтва:"
+msgstr "СвойÑтва"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1353,11 +1338,12 @@ 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
msgid "Methods"
-msgstr "СпиÑок методов:"
+msgstr "Методы"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1368,6 +1354,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
msgid "Search Text"
@@ -1409,28 +1397,24 @@ msgid "Error while saving."
msgstr "Ошибка при Ñохранении."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "Ðевозможно работать Ñ '..'"
+msgstr "Ðе удаетÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ '%s'."
#: editor/editor_node.cpp
-#, fuzzy
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
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "Сцена '%s' имеет иÑпорченные завиÑимоÑти:"
+msgstr "ОтÑутÑтвует '%s' или его завиÑимоÑти."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "Ошибка при Ñохранении."
+msgstr "Ошибка при загрузке '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1497,26 +1481,41 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"Этот реÑÑƒÑ€Ñ Ð¿Ñ€Ð¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ‚ Ñцене, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° импортирована, поÑтому он не "
+"редактируетÑÑ.\n"
+"ПожалуйÑта, прочитайте документацию, имеющую отношение к импорту Ñцены, "
+"чтобы лучше понÑÑ‚ÑŒ Ñтот процеÑÑ."
#: editor/editor_node.cpp
+#, fuzzy
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
+#, fuzzy
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
+#, fuzzy
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 ""
+"Эта Ñцена была импортирована, так что Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ будут Ñохранены.\n"
+"ИнÑтанÑинг или наÑледование позволит внеÑти Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² неё.\n"
+"ПожалуйÑта, прочитайте документацию, имеющую отношение к импорту Ñцены, "
+"чтобы лучше понÑÑ‚ÑŒ Ñтот процеÑÑ."
#: editor/editor_node.cpp
msgid "Copy Params"
@@ -1694,25 +1693,37 @@ 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: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "Ðе удаетÑÑ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ плагин: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' анализ конфигурации не удалÑÑ."
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
+msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ поле script Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°: ' res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
-msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ поле script Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°: ' res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: '"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "Ðе удалоÑÑŒ загрузить Ñкрипт из иÑточника: '"
#: editor/editor_node.cpp
@@ -1743,9 +1754,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "Сцена '%s' имеет иÑпорченные завиÑимоÑти:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "ОчиÑтить Ðедавние Файлы"
+msgstr "ОчиÑтить поÑледние Ñцены"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -1948,7 +1958,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ на Ñцене"
+msgstr "Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñцене"
#: editor/editor_node.cpp
msgid ""
@@ -2119,9 +2129,8 @@ msgid "Object properties."
msgstr "СвойÑтва объекта."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "Измените изображение группы"
+msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть потерÑны!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2205,9 +2214,8 @@ msgid "Open the previous Editor"
msgstr "Открыть предыдущий редактор"
#: editor/editor_plugin.cpp
-#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "Создание библиотеки полиÑеток"
+msgstr "Создание предпроÑмотра"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2259,7 +2267,8 @@ msgid "Frame %"
msgstr "Кадр %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "ФикÑированный кадр %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2426,17 +2435,20 @@ msgstr "Ðе удалоÑÑŒ перейти к '"
#: 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 ""
@@ -2447,57 +2459,48 @@ msgstr ""
"ИÑточник: "
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr "Ðе удалоÑÑŒ загрузить/иÑполнить иÑходный шрифт."
+msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑтить/переименовать корень."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself.\n"
-msgstr "Ðевозможно импортировать файл поверх негоже:"
+msgstr "Ðевозможно перемеÑтить папку в ÑебÑ.\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:\n"
-msgstr "Ошибка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°:\n"
+msgstr "Ошибка перемещениÑ:\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Unable to update dependencies:\n"
-msgstr "Сцена '%s' имеет иÑпорченные завиÑимоÑти:"
+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
-#, fuzzy
msgid "No name provided."
-msgstr "Переименовать или ПеремеÑтить.."
+msgstr "Ðе предоÑтавлено имÑ."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Name contains invalid characters."
-msgstr "ДопуÑтимые Ñимволы:"
+msgstr "Ð˜Ð¼Ñ Ñодержит недопуÑтимые Ñимволы."
#: editor/filesystem_dock.cpp
-#, fuzzy
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
msgid "Expand all"
@@ -2512,18 +2515,16 @@ msgid "Copy Path"
msgstr "Копировать путь"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Rename.."
-msgstr "Переименовать"
+msgstr "Переименовать.."
#: editor/filesystem_dock.cpp
msgid "Move To.."
msgstr "ПеремеÑтить в.."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Folder.."
-msgstr "Создать папку"
+msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°.."
#: editor/filesystem_dock.cpp
msgid "Show In File Manager"
@@ -2591,9 +2592,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"
@@ -2608,19 +2608,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"
@@ -2707,9 +2704,8 @@ msgid "Edit Poly"
msgstr "Изменён полигон"
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Insert Point"
-msgstr "Ð’Ñтавка"
+msgstr "Ð’Ñтавить точку"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3275,14 +3271,12 @@ msgid "Edit CanvasItem"
msgstr "Редактировать CanvasItem"
#: 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
msgid "Change Anchors"
@@ -3340,9 +3334,8 @@ msgid "Pan Mode"
msgstr "Режим оÑмотра"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggles snapping"
-msgstr "Точка оÑтановки"
+msgstr "Переключение прилипаниÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3350,23 +3343,20 @@ msgid "Use Snap"
msgstr "ИÑпользовать привÑзку"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snapping options"
-msgstr "Параметры анимации"
+msgstr "Параметры прилипаниÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to grid"
-msgstr "Режим привÑзки:"
+msgstr "Прилипание к Ñетке"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
msgstr "ИÑпользовать привÑзку вращениÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Configure Snap..."
-msgstr "ÐаÑтроить привÑзку.."
+msgstr "ÐаÑтроить прилипание.."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
@@ -3378,24 +3368,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
msgid "Lock the selected object in place (can't be moved)."
@@ -3444,14 +3433,12 @@ msgid "Show Grid"
msgstr "Показать Ñетку"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show helpers"
-msgstr "Показать коÑти"
+msgstr "Показывать помощники"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show rulers"
-msgstr "Показать коÑти"
+msgstr "Показывать линейки"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3462,9 +3449,8 @@ msgid "Frame Selection"
msgstr "Кадрировать выбранное"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "Сохранить макет"
+msgstr "Макет"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Keys"
@@ -3488,20 +3474,19 @@ msgstr "ОчиÑтить позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag pivot from mouse position"
-msgstr ""
+msgstr "Перетащить точку Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Set pivot at mouse position"
-msgstr "УÑтановить позицию выхода кривой"
+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"
@@ -3580,11 +3565,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
@@ -3598,7 +3583,7 @@ msgstr "Переход ИЗ"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr ""
+msgstr "Сглаженный"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Point"
@@ -3926,73 +3911,66 @@ msgid "Bake!"
msgstr "Запечь!"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Bake the navigation mesh.\n"
-msgstr "Создать полиÑетку навигации"
+msgstr "Создать полиÑетку навигации.\n"
#: 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
+#, fuzzy
msgid "Eroding walkable area..."
-msgstr ""
+msgstr "Размытие проходимого района..."
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
-msgstr "Предупреждение"
+msgid "Partitioning..."
+msgstr "Разметка..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating contours..."
-msgstr "Создание текÑтуры октодерева"
+msgstr "Создание контуров..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating polymesh..."
-msgstr "Создать полиÑетку обводки.."
+msgstr "Создание полиÑетки..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Converting to native navigation mesh..."
-msgstr "Создать полиÑетку навигации"
+msgstr "Преобразование в ÑобÑтвенную навигационную Ñетку..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Navigation Mesh Generator Setup:"
-msgstr ""
+msgstr "ÐаÑтройка генератора навигационной Ñетки:"
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Parsing Geometry..."
-msgstr "ПарÑинг геометрии"
+msgstr "Ðнализ геометрии..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Done!"
-msgstr ""
+msgstr "Сделано!"
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
@@ -4169,9 +4147,8 @@ msgid "Curve Point #"
msgstr "Точка Кривой #"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Point Position"
-msgstr "УÑтановить позицию точки кривой"
+msgstr "УÑтановить положение точки кривой"
#: editor/plugins/path_editor_plugin.cpp
#, fuzzy
@@ -4430,7 +4407,8 @@ msgstr "Шаг в"
msgid "Break"
msgstr "Пауза"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Продолжить"
@@ -4528,7 +4506,8 @@ msgid "Cut"
msgstr "Вырезать"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Копировать"
@@ -5203,14 +5182,12 @@ msgid "Insert Empty (After)"
msgstr "Ð’Ñтавить пуÑтоту (ПоÑле)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (Before)"
-msgstr "ПеремеÑтить узел(Ñ‹)"
+msgstr "ПеремеÑтить (до)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (After)"
-msgstr "Двигать влево"
+msgstr "ПеремеÑтить (поÑле)"
#: editor/plugins/style_box_editor_plugin.cpp
msgid "StyleBox Preview:"
@@ -5286,8 +5263,12 @@ msgid "Remove All"
msgstr "Удалить вÑе"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Тема"
+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"
@@ -5423,9 +5404,8 @@ msgid "Mirror Y"
msgstr "Зеркально по Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Paint Tile"
-msgstr "РиÑовать карту тайлов"
+msgstr "РиÑовать тайл"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -5488,9 +5468,8 @@ msgid "Delete preset '%s'?"
msgstr "Удалить '%s'?"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют:"
+msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены: "
#: editor/project_export.cpp
msgid "Presets"
@@ -5565,33 +5544,30 @@ msgid "Export templates for this platform are missing:"
msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют:"
+msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены:"
#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "ЭкÑпорт в режиме отладки"
#: editor/project_manager.cpp
-#, fuzzy
-msgid "The path does not exists."
-msgstr "Файл не ÑущеÑтвует."
+msgid "The path does not exist."
+msgstr "Путь не ÑущеÑтвует."
#: editor/project_manager.cpp
-#, fuzzy
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 ""
+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"
@@ -5599,25 +5575,23 @@ msgstr "Импортированный проект"
#: editor/project_manager.cpp
msgid " "
-msgstr ""
+msgstr " "
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
-msgstr ""
+msgstr "Было бы неплохо назвать ваш проект."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
msgstr "Ðеверный путь к проекту (Что-то изменили?)."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in project path."
-msgstr "Ðе удалоÑÑŒ Ñоздать project.godot в папке проекта."
+msgstr "ОтÑутÑтвует project.godot в папке проекта."
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't edit project.godot in project path."
-msgstr "Ðе удалоÑÑŒ Ñоздать project.godot в папке проекта."
+msgstr "Ðе удалоÑÑŒ изменить project.godot в папке проекта."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -5628,14 +5602,12 @@ msgid "The following files failed extraction from package:"
msgstr "Следующие файлы не удалоÑÑŒ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð· пакета:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Rename Project"
-msgstr "БезымÑнный проект"
+msgstr "Переименовать проект"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in the project path."
-msgstr "Ðе удалоÑÑŒ Ñоздать project.godot в папке проекта."
+msgstr "ОтÑутÑтвует project.godot в папке проекта."
#: editor/project_manager.cpp
msgid "New Game Project"
@@ -5658,7 +5630,6 @@ msgid "Project Name:"
msgstr "Ðазвание проекта:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Create folder"
msgstr "Создать папку"
@@ -5679,9 +5650,8 @@ msgid "Unnamed Project"
msgstr "БезымÑнный проект"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Can't open project"
-msgstr "Ðе удаетÑÑ Ð·Ð°Ð¿ÑƒÑтить проект"
+msgstr "Ðе удаетÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ проект"
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
@@ -5715,6 +5685,12 @@ 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 ""
@@ -5746,6 +5722,11 @@ msgid "Exit"
msgstr "Выход"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "ПерезапуÑк (Ñек.):"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "Ðе удаетÑÑ Ð·Ð°Ð¿ÑƒÑтить проект"
@@ -5903,7 +5884,6 @@ msgid "Add Global Property"
msgstr "Добавить глобальное ÑвойÑтво"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Select a setting item first!"
msgstr "Сначала выберите Ñлемент наÑтроек!"
@@ -5920,14 +5900,12 @@ msgid "Delete Item"
msgstr "Удалить Ñлемент"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Can't contain '/' or ':'"
-msgstr "Ðе удаетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ðº хоÑту:"
+msgstr "Ðе может Ñодержать '/' или ':'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Already existing"
-msgstr "Параметр изменён"
+msgstr "Уже ÑущеÑтвует"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
@@ -5970,6 +5948,15 @@ msgid "Remove Resource Remap Option"
msgstr "Удалён параметр реÑурÑа перенаправлениÑ"
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "ÐаÑтройки проекта (project.godot)"
@@ -6030,6 +6017,30 @@ msgid "Locale"
msgstr "Язык"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Фильтр:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Показать коÑти"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÐ·Ð»Ð¾Ð²"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Язык"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "Ðвтозагрузка"
@@ -6078,18 +6089,16 @@ msgid "New Script"
msgstr "Ðовый Ñкрипт"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Make Unique"
-msgstr "Создать коÑти"
+msgstr "Сделать уникальным"
#: editor/property_editor.cpp
msgid "Show in File System"
msgstr "Показать в файловой ÑиÑтеме"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Convert To %s"
-msgstr "Конвертировать в.."
+msgstr "Преобразовать в %s"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
@@ -6128,9 +6137,8 @@ msgid "Select Property"
msgstr "Выбрать ÑвойÑтво"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Virtual Method"
-msgstr "Выбрать метод"
+msgstr "Выбрать виртуальный метод"
#: editor/property_selector.cpp
msgid "Select Method"
@@ -6485,12 +6493,11 @@ msgstr "ÐедопуÑтимый базовый путь"
#: editor/script_create_dialog.cpp
msgid "Directory of the same name exists"
-msgstr ""
+msgstr "Каталог Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же именем ÑущеÑтвует"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, will be reused"
-msgstr "Файл ÑущеÑтвует, перезапиÑать?"
+msgstr "Файл ÑущеÑтвует, будет иÑпользован повторно"
#: editor/script_create_dialog.cpp
msgid "Invalid extension"
@@ -6579,6 +6586,7 @@ 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"
@@ -6741,22 +6749,21 @@ msgid "Change Probe Extents"
msgstr "Изменены Probe Extents"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Library"
-msgstr "Библиотека полиÑеток.."
+msgstr "Библиотека"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Status"
-msgstr "СтатуÑ:"
+msgstr "СтатуÑ"
#: modules/gdnative/gd_native_library_editor.cpp
msgid "Libraries: "
-msgstr ""
+msgstr "Библиотеки: "
#: modules/gdnative/register_types.cpp
+#, fuzzy
msgid "GDNative"
-msgstr ""
+msgstr "GDNative"
#: modules/gdscript/gd_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -6818,14 +6825,12 @@ msgid "Snap View"
msgstr "ПривÑзать вид"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Prev Level (%sDown Wheel)"
-msgstr "Пред уровень ("
+msgstr "Пред уровень (%sКолеÑико вниз)"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Next Level (%sUp Wheel)"
-msgstr "Следующий уровень ("
+msgstr "Следующий уровень (%sКолеÑико вверх)"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Disabled"
@@ -6909,7 +6914,7 @@ msgstr "РаÑÑтоÑние выбора:"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "Builds"
-msgstr ""
+msgstr "Билды"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -7117,7 +7122,7 @@ msgstr "Получить"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
-msgstr ""
+msgstr "Скрипт уже имеет функцию '%s'"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Input Value"
@@ -7537,10 +7542,13 @@ msgstr ""
"реÑÑƒÑ€Ñ SpriteFrames в параметре 'Frames'."
#: scene/3d/vehicle_body.cpp
+#, fuzzy
msgid ""
"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
"it as a child of a VehicleBody."
msgstr ""
+"VehicleWheel Ñлужит колеÑом Ð´Ð»Ñ VehicleBody. ПожалуйÑта, иÑпользуйте его как "
+"ребенка VehicleBody."
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
@@ -7620,6 +7628,15 @@ msgstr "Ошибка загрузки шрифта."
msgid "Invalid font size."
msgstr "ÐедопуÑтимый размер шрифта."
+#~ msgid "Filter:"
+#~ msgstr "Фильтр:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' анализ конфигурации не удалÑÑ."
+
+#~ msgid "Theme"
+#~ msgstr "Тема"
+
#~ msgid "Method List For '%s':"
#~ msgstr "СпиÑок методов Ð´Ð»Ñ '%s':"
@@ -8555,9 +8572,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Preview Atlas"
#~ msgstr "ПредпроÑмотр атлаÑа"
-#~ msgid "Image Filter:"
-#~ msgstr "Фильтр:"
-
#~ msgid "Images:"
#~ msgstr "ИзображениÑ:"
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index 84709e1a4d..e5ec2ed8d0 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -1,5 +1,6 @@
# Slovak translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# J08nY <johnenter@gmail.com>, 2016.
@@ -1207,10 +1208,6 @@ msgid "File:"
msgstr "Súbor:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Filter:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1657,19 +1654,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+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 "' parsing of config failed."
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2192,7 +2194,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3848,7 +3850,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4311,7 +4313,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4405,7 +4408,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Kopírovať"
@@ -5165,7 +5169,11 @@ msgid "Remove All"
msgstr "Všetky vybrané"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5449,7 +5457,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5579,6 +5587,12 @@ 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 ""
@@ -5609,6 +5623,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5830,6 +5848,14 @@ 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 ""
@@ -5890,6 +5916,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Filter:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7395,6 +7442,9 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#~ msgid "Filter:"
+#~ msgstr "Filter:"
+
#, fuzzy
#~ msgid "Tiles"
#~ msgstr "Súbor:"
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index 3878214ba0..4a82428565 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -1,5 +1,6 @@
# Slovenian translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# matevž lapajne <sivar.lapajne@gmail.com>, 2016.
@@ -1206,10 +1207,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1652,19 +1649,24 @@ msgid "Pick a Main Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -2184,7 +2186,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3837,7 +3839,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4300,7 +4302,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4394,7 +4397,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5152,7 +5156,11 @@ msgid "Remove All"
msgstr "Odstrani Signal"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5435,7 +5443,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5564,6 +5572,12 @@ 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 ""
@@ -5594,6 +5608,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5817,6 +5835,14 @@ 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 ""
@@ -5877,6 +5903,26 @@ 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 ""
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 33d871e421..65bbafebb6 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -1,5 +1,6 @@
# Thai translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Kaveeta Vivatchai <goodytong@gmail.com>, 2017.
@@ -8,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2017-10-03 16:49+0000\n"
+"PO-Revision-Date: 2017-10-23 02:49+0000\n"
"Last-Translator: Poommetee Ketson <poommetee@protonmail.com>\n"
"Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/"
"th/>\n"
@@ -16,7 +17,7 @@ msgstr ""
"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.17-dev\n"
+"X-Generator: Weblate 2.17\n"
#: editor/animation_editor.cpp
msgid "Disabled"
@@ -651,9 +652,8 @@ msgstr ""
"ยืนยันจะลบหรือไม่? (ย้อนà¸à¸¥à¸±à¸šà¹„ม่ได้)"
#: editor/dependency_editor.cpp
-#, fuzzy
msgid "Cannot remove:\n"
-msgstr "ค้นหาไม่สำเร็จ"
+msgstr "ไม่สามารถลบ:\n"
#: editor/dependency_editor.cpp
msgid "Error loading:"
@@ -740,32 +740,31 @@ msgstr "ทีมงาน"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr ""
+msgstr "ผู้สนับสนุนระดับทองคำขาว"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr ""
+msgstr "ผู้สนับสนุนระดับทอง"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr ""
+msgstr "ผู้สนับสนุน"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr ""
+msgstr "ผู้บริจาคระดับทอง"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr ""
+msgstr "ผู้บริจาคระดับเงิน"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Bronze Donors"
-msgstr "คัดลอà¸à¸šà¸£à¸£à¸—ัดลงมา"
+msgstr "ผู้บริจาคระดับทองà¹à¸”ง"
#: editor/editor_about.cpp
msgid "Donors"
-msgstr ""
+msgstr "ผู้บริจาค"
#: editor/editor_about.cpp
msgid "License"
@@ -890,9 +889,8 @@ msgid "Duplicate"
msgstr "ทำซ้ำ"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Volume"
-msgstr "รีเซ็ตซูม"
+msgstr "รีเซ็ตระดับเสียง"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
@@ -915,9 +913,8 @@ msgid "Duplicate Audio Bus"
msgstr "ทำซ้ำ Audio Bus"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Reset Bus Volume"
-msgstr "รีเซ็ตซูม"
+msgstr "รีเซ็ตระดับเสียงบัส"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
@@ -1188,7 +1185,6 @@ msgid "Toggle Mode"
msgstr "สลับโหมด"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Focus Path"
msgstr "à¹à¸à¹‰à¹„ขตำà¹à¸«à¸™à¹ˆà¸‡"
@@ -1201,9 +1197,8 @@ msgid "Move Favorite Down"
msgstr "เลื่อนโฟลเดอร์ที่ชอบลง"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder"
-msgstr "ไม่สามารถสร้างโฟลเดอร์"
+msgstr "ไปยังโฟลเดอร์หลัà¸"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1219,10 +1214,6 @@ msgid "File:"
msgstr "ไฟล์:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "ตัวà¸à¸£à¸­à¸‡:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "นามสà¸à¸¸à¸¥à¹„ฟล์ไม่ถูà¸à¸•à¹‰à¸­à¸‡"
@@ -1268,27 +1259,24 @@ msgid "Brief Description:"
msgstr "รายละเอียด:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Members"
-msgstr "ตัวà¹à¸›à¸£:"
+msgstr "ตัวà¹à¸›à¸£"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "ตัวà¹à¸›à¸£:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Public Methods"
-msgstr "เมท็อด:"
+msgstr "เมท็อด"
#: editor/editor_help.cpp
msgid "Public Methods:"
msgstr "เมท็อด:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "GUI Theme Items"
-msgstr "ตัวà¹à¸›à¸£à¸˜à¸µà¸¡:"
+msgstr "ตัวà¹à¸›à¸£à¸˜à¸µà¸¡"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1299,9 +1287,8 @@ msgid "Signals:"
msgstr "สัà¸à¸à¸²à¸“:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Enumerations"
-msgstr "ค่าคงที่:"
+msgstr "ค่าคงที่"
#: editor/editor_help.cpp
msgid "Enumerations:"
@@ -1309,26 +1296,23 @@ msgstr "ค่าคงที่:"
#: editor/editor_help.cpp
msgid "enum "
-msgstr "ค่าคงที่ "
+msgstr "à¸à¸¥à¸¸à¹ˆà¸¡à¸„่าคงที่ "
#: editor/editor_help.cpp
-#, fuzzy
msgid "Constants"
-msgstr "ค่าคงที่:"
+msgstr "ค่าคงที่"
#: editor/editor_help.cpp
msgid "Constants:"
msgstr "ค่าคงที่:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "รายละเอียด:"
+msgstr "รายละเอียด"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
-msgstr "คุณสมบัติ:"
+msgstr "คุณสมบัติ"
#: editor/editor_help.cpp
msgid "Property Description:"
@@ -1338,12 +1322,11 @@ msgstr "รายละเอียดตัวà¹à¸›à¸£:"
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
+msgstr "คุณสมบัตินี้ยังไม่มีคำอธิบาย โปรดช่วย[color=$color][url=$url]à¹à¸à¹‰à¹„ข[/url][/color]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "รายชื่อเมท็อด:"
+msgstr "รายชื่อเมท็อด"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1353,7 +1336,7 @@ msgstr "รายละเอียดเมท็อด:"
msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
-msgstr ""
+msgstr "เมท็อดนี้ยังไม่มีคำอธิบาย โปรดช่วย[color=$color][url=$url]à¹à¸à¹‰à¹„ข[/url][/color]!"
#: editor/editor_help.cpp
msgid "Search Text"
@@ -1395,28 +1378,24 @@ msgid "Error while saving."
msgstr "ผิดพลาดขณะบันทึà¸"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open '%s'."
-msgstr "ทำงานใน '..' ไม่ได้"
+msgstr "เปิด '%s' ไม่ได้"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while parsing '%s'."
-msgstr "ผิดพลาดขณะบันทึà¸"
+msgstr "ผิดพลาดขณะอ่านไฟล์ '%s'"
#: editor/editor_node.cpp
msgid "Unexpected end of file '%s'."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Missing '%s' or its dependencies."
-msgstr "ฉาภ'%s' มีà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸ªà¸¹à¸à¸«à¸²à¸¢:"
+msgstr "ไฟล์ที่ '%s' ใช้สูà¸à¸«à¸²à¸¢"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Error while loading '%s'."
-msgstr "ผิดพลาดขณะบันทึà¸"
+msgstr "ผิดพลาดขณะโหลด '%s'"
#: editor/editor_node.cpp
msgid "Saving Scene"
@@ -1481,18 +1460,22 @@ 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 ""
+msgstr "รีซอร์สนี้ถูà¸à¸™à¸³à¹€à¸‚้าจึงไม่สามารถà¹à¸à¹‰à¹„ขได้ ปรับตั้งค่าในà¹à¸œà¸‡à¸™à¸³à¹€à¸‚้าà¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าใหม่"
#: editor/editor_node.cpp
msgid ""
@@ -1501,6 +1484,9 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
+"ฉาà¸à¸™à¸µà¹‰à¸–ูà¸à¸™à¸³à¹€à¸‚้า à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸\n"
+"ต้องอินสà¹à¸•à¸™à¸‹à¹Œà¸«à¸£à¸·à¸­à¸ªà¸·à¸šà¸—อดà¸à¹ˆà¸­à¸™à¸ˆà¸¶à¸‡à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–à¹à¸à¹‰à¹„ขได้\n"
+"อ่านรายละเอียดเพิ่มเติมได้จาà¸à¸„ู่มือในส่วนของà¸à¸²à¸£à¸™à¸³à¹€à¸‚้าฉาà¸"
#: editor/editor_node.cpp
msgid "Copy Params"
@@ -1523,9 +1509,8 @@ msgid "Make Built-In"
msgstr "à¸à¸±à¸‡"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Make Sub-Resources Unique"
-msgstr "ไม่ใช้รีซอร์สร่วมà¸à¸±à¸šà¸§à¸±à¸•à¸–ุอื่น"
+msgstr "ไม่ให้ใช้รีซอร์สร่วมà¸à¸±à¸šà¸§à¸±à¸•à¸–ุอื่น"
#: editor/editor_node.cpp
msgid "Open in Help"
@@ -1675,25 +1660,36 @@ 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: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "ไม่สามารถเปิดใช้งานปลั๊à¸à¸­à¸´à¸™: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' ผิดพลาดขณะอ่านไฟล์"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
+msgstr "ไม่พบชื่อสคริปต์ใน: 'res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
-msgstr "ไม่พบชื่อสคริปต์ใน: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "ไม่สามารถโหลดสคริปต์จาà¸: '"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "ไม่สามารถโหลดสคริปต์จาà¸: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "ไม่สามารถโหลดสคริปต์จาà¸: '"
#: editor/editor_node.cpp
@@ -1722,9 +1718,8 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "ฉาภ'%s' มีà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸ªà¸¹à¸à¸«à¸²à¸¢:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Clear Recent Scenes"
-msgstr "ล้างรายà¸à¸²à¸£à¹„ฟล์ล่าสุด"
+msgstr "ล้างรายà¸à¸²à¸£à¸‰à¸²à¸à¸¥à¹ˆà¸²à¸ªà¸¸à¸”"
#: editor/editor_node.cpp
msgid "Save Layout"
@@ -2086,9 +2081,8 @@ msgid "Object properties."
msgstr "คุณสมบัติวัตถุ"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Changes may be lost!"
-msgstr "à¹à¸à¹‰à¹„ขค่าคงที่เวà¸à¹€à¸•à¸­à¸£à¹Œ"
+msgstr "à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸!"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
@@ -2173,9 +2167,8 @@ msgid "Open the previous Editor"
msgstr "เปิดตัวà¹à¸à¹‰à¹„ขà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
#: editor/editor_plugin.cpp
-#, fuzzy
msgid "Creating Mesh Previews"
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ Mesh Library"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ à¸²à¸žà¸•à¸±à¸§à¸­à¸¢à¹ˆà¸²à¸‡ Mesh"
#: editor/editor_plugin.cpp
msgid "Thumbnail.."
@@ -2227,7 +2220,8 @@ msgid "Frame %"
msgstr "เฟรม %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "เฟรมคงที่ %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -2335,11 +2329,10 @@ msgid "Invalid version.txt format inside templates."
msgstr "รูปà¹à¸šà¸šà¸‚อง version.txt ในà¹à¸¡à¹ˆà¹à¸šà¸šà¹„ม่ถูà¸à¸•à¹‰à¸­à¸‡"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid ""
"Invalid version.txt format inside templates. Revision is not a valid "
"identifier."
-msgstr "รูปà¹à¸šà¸šà¸‚อง version.txt ในà¹à¸¡à¹ˆà¹à¸šà¸šà¹„ม่ถูà¸à¸•à¹‰à¸­à¸‡"
+msgstr "รูปà¹à¸šà¸šà¸‚อง version.txt ในà¹à¸¡à¹ˆà¹à¸šà¸šà¹„ม่ถูà¸à¸•à¹‰à¸­à¸‡ หมายเลขรุ่น revision ต้องใช้ระบุได้"
#: editor/export_template_manager.cpp
msgid "No version.txt found inside templates."
@@ -2402,6 +2395,8 @@ msgid ""
"\n"
"Status: Import of file failed. Please fix file and reimport manually."
msgstr ""
+"\n"
+"สถานะ: นำเข้าไฟล์ล้มเหลว à¸à¸£à¸¸à¸“าà¹à¸à¹‰à¹„ขไฟล์à¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าใหม่"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -2413,57 +2408,48 @@ msgstr ""
"ต้นฉบับ: "
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr "ไม่สามารถโหลด/ประมวลผลฟอนต์ต้นฉบับ"
+msgstr "ไม่สามารถย้าย/เปลี่ยนชื่อโฟลเดอร์ราà¸"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself.\n"
-msgstr "นำเข้าไฟล์ทับตัวเองไม่ได้:"
+msgstr "ย้ายโฟลเดอร์มาข้างในตัวมันเองไม่ได้\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:\n"
-msgstr "ผิดพลาดขณะย้ายโฟลเดอร์:\n"
+msgstr "ผิดพลาดขณะย้าย:\n"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Unable to update dependencies:\n"
-msgstr "ฉาภ'%s' มีà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸ªà¸¹à¸à¸«à¸²à¸¢:"
+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
-#, fuzzy
msgid "No name provided."
-msgstr "เปลี่ยนชื่อหรือย้าย.."
+msgstr "ไม่ได้ระบุชื่อ"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Name contains invalid characters."
-msgstr "ตัวอัà¸à¸©à¸£à¸—ี่ใช้ได้:"
+msgstr "อัà¸à¸©à¸£à¸šà¸²à¸‡à¸•à¸±à¸§à¹ƒà¸Šà¹‰à¹„ม่ได้"
#: editor/filesystem_dock.cpp
-#, fuzzy
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
msgid "Expand all"
@@ -2478,18 +2464,16 @@ msgid "Copy Path"
msgstr "คัดลอà¸à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Rename.."
-msgstr "เปลี่ยนชื่อ"
+msgstr "เปลี่ยนชื่อ.."
#: editor/filesystem_dock.cpp
msgid "Move To.."
msgstr "ย้ายไป.."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Folder.."
-msgstr "สร้างโฟลเดอร์"
+msgstr "สร้างโฟลเดอร์.."
#: editor/filesystem_dock.cpp
msgid "Show In File Manager"
@@ -2557,9 +2541,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"
@@ -2574,19 +2557,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"
@@ -2673,9 +2653,8 @@ msgid "Edit Poly"
msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม"
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Insert Point"
-msgstr "à¹à¸—รà¸"
+msgstr "à¹à¸—รà¸à¸ˆà¸¸à¸”"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3244,9 +3223,8 @@ msgid "Anchors only"
msgstr "ตรึง"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Change Anchors and Margins"
-msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¸•à¸£à¸¶à¸‡"
+msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¸•à¸£à¸¶à¸‡à¹à¸¥à¸°à¸‚อบ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
@@ -3406,14 +3384,12 @@ msgid "Show Grid"
msgstr "à¹à¸ªà¸”งเส้นตาราง"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show helpers"
-msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸"
+msgstr "à¹à¸ªà¸”งตัวช่วย"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show rulers"
-msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸"
+msgstr "à¹à¸ªà¸”งไม้บรรทัด"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3424,9 +3400,8 @@ msgid "Frame Selection"
msgstr "ให้สิ่งที่เลือà¸à¹€à¸•à¹‡à¸¡à¸ˆà¸­"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "บันทึà¸à¹€à¸¥à¸¢à¹Œà¹€à¸­à¸²à¸•à¹Œ"
+msgstr "เลย์เอาต์"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Keys"
@@ -3453,9 +3428,8 @@ msgid "Drag pivot from mouse position"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Set pivot at mouse position"
-msgstr "à¸à¸³à¸«à¸™à¸”เส้นโค้งขาออà¸"
+msgstr "à¸à¸³à¸«à¸™à¸”จุดหมุนที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸¡à¸²à¸ªà¹Œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
@@ -3542,25 +3516,23 @@ 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
msgid "Ease in"
msgstr "เข้านุ่มนวล"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Ease out"
msgstr "ออà¸à¸™à¸¸à¹ˆà¸¡à¸™à¸§à¸¥"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
-msgstr ""
+msgstr "นุ่มนวล"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Modify Curve Point"
@@ -3888,14 +3860,12 @@ msgid "Bake!"
msgstr ""
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Bake the navigation mesh.\n"
-msgstr "สร้าง Mesh นำทาง"
+msgstr "สร้าง Mesh นำทาง\n"
#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Clear the navigation mesh."
-msgstr "สร้าง Mesh นำทาง"
+msgstr "ล้าง Mesh นำทาง"
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Setting up Configuration..."
@@ -3906,14 +3876,12 @@ msgid "Calculating grid size..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating heightfield..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ Light Octree"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸™à¸²à¸¡à¸„วามสูง..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Marking walkable triangles..."
-msgstr "สตริงหลายภาษา.."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸à¸³à¸«à¸™à¸”พื้นผิวที่เดินผ่านได้..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Constructing compact heightfield..."
@@ -3921,36 +3889,32 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Eroding walkable area..."
-msgstr ""
+msgstr "บีบà¹à¸„บส่วนที่เดินผ่านได้..."
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
-msgstr "คำเตือน"
+msgid "Partitioning..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸šà¹ˆà¸‡à¸ªà¹ˆà¸§à¸™..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating contours..."
-msgstr "สร้าง Texture Octree"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸„อนทัวร์..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Creating polymesh..."
-msgstr "สร้างเส้นขอบ Mesh.."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ Polymesh..."
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Converting to native navigation mesh..."
-msgstr "สร้าง Mesh นำทาง"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸›à¸¥à¸‡à¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™ Mesh นำทาง..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Navigation Mesh Generator Setup:"
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
msgid "Parsing Geometry..."
-msgstr "วิเคราะห์ Geometry"
+msgstr "วิเคราะห์พื้นผิว..."
#: editor/plugins/navigation_mesh_generator.cpp
msgid "Done!"
@@ -4395,7 +4359,8 @@ msgstr "คำสั่งต่อไป"
msgid "Break"
msgstr "หยุดพัà¸"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "ทำต่อไป"
@@ -4491,7 +4456,8 @@ msgid "Cut"
msgstr "ตัด"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "คัดลอà¸"
@@ -5168,14 +5134,12 @@ msgid "Insert Empty (After)"
msgstr "เพิ่มà¹à¸šà¸šà¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸² (หลัง)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (Before)"
-msgstr "ย้ายโหนด"
+msgstr "ย้าย (à¸à¹ˆà¸­à¸™)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (After)"
-msgstr "ย้ายไปซ้าย"
+msgstr "ย้าย (หลัง)"
#: editor/plugins/style_box_editor_plugin.cpp
msgid "StyleBox Preview:"
@@ -5252,8 +5216,12 @@ msgid "Remove All"
msgstr "ลบทั้งหมด"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "ธีม"
+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"
@@ -5389,9 +5357,8 @@ msgid "Mirror Y"
msgstr "สะท้อนซ้ายขวา"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Paint Tile"
-msgstr "วาด TileMap"
+msgstr "วาด Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -5454,9 +5421,8 @@ msgid "Delete preset '%s'?"
msgstr "ลบ '%s'?"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted: "
-msgstr "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸­à¸£à¹Œà¸¡à¸™à¸µà¹‰:"
+msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸­à¸£à¹Œà¸¡à¸™à¸µà¹‰à¸ªà¸¹à¸à¸«à¸²à¸¢/เสียหาย: "
#: editor/project_export.cpp
msgid "Presets"
@@ -5517,7 +5483,6 @@ msgid "Custom (comma-separated):"
msgstr "à¸à¸³à¸«à¸™à¸”เอง (คั่นด้วยจุลภาค):"
#: editor/project_export.cpp
-#, fuzzy
msgid "Feature List:"
msgstr "รายชื่อฟีเจอร์:"
@@ -5530,9 +5495,8 @@ msgid "Export templates for this platform are missing:"
msgstr "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸­à¸£à¹Œà¸¡à¸™à¸µà¹‰:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export templates for this platform are missing/corrupted:"
-msgstr "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸­à¸£à¹Œà¸¡à¸™à¸µà¹‰:"
+msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸­à¸£à¹Œà¸¡à¸™à¸µà¹‰à¸ªà¸¹à¸à¸«à¸²à¸¢/เสียหาย:"
#: editor/project_export.cpp
msgid "Export With Debug"
@@ -5540,13 +5504,12 @@ msgstr "ส่งออà¸à¸žà¸£à¹‰à¸­à¸¡à¸•à¸±à¸§à¸”ีบัค"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "ไม่พบไฟล์"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Please choose a 'project.godot' file."
-msgstr "à¸à¸£à¸¸à¸“าส่งออà¸à¹„ปนอà¸à¹‚ฟลเดอร์โปรเจà¸à¸•à¹Œ!"
+msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¹„ฟล์ 'project.godot'"
#: editor/project_manager.cpp
msgid ""
@@ -5575,14 +5538,12 @@ msgid "Invalid project path (changed anything?)."
msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¹‚ปรเจà¸à¸•à¹Œà¸œà¸´à¸”พลาด (ได้à¹à¸à¹‰à¹„ขอะไรไปหรือไม่?)"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in project path."
-msgstr "สร้างไฟล์ project.godot ไม่ได้"
+msgstr "ไม่พบไฟล์ project.godot"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't edit project.godot in project path."
-msgstr "สร้างไฟล์ project.godot ไม่ได้"
+msgstr "à¹à¸à¹‰à¹„ขไฟล์ project.godot ไม่ได้"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -5593,14 +5554,12 @@ msgid "The following files failed extraction from package:"
msgstr "ผิดพลาดขณะà¹à¸¢à¸à¹„ฟล์ต่อไปนี้จาà¸à¹à¸žà¸„เà¸à¸ˆ:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Rename Project"
-msgstr "โปรเจà¸à¸•à¹Œà¹„ม่มีชื่อ"
+msgstr "เปลี่ยนชื่อโปรเจà¸à¸•à¹Œ"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Couldn't get project.godot in the project path."
-msgstr "สร้างไฟล์ project.godot ไม่ได้"
+msgstr "ไม่พบไฟล์ project.godot"
#: editor/project_manager.cpp
msgid "New Game Project"
@@ -5623,7 +5582,6 @@ msgid "Project Name:"
msgstr "ชื่อโปรเจà¸à¸•à¹Œ:"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Create folder"
msgstr "สร้างโฟลเดอร์"
@@ -5644,9 +5602,8 @@ msgid "Unnamed Project"
msgstr "โปรเจà¸à¸•à¹Œà¹„ม่มีชื่อ"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Can't open project"
-msgstr "ไม่สามารถรันโปรเจà¸à¸•à¹Œ"
+msgstr "ไม่สามารถเปิดโปรเจà¸à¸•à¹Œ"
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
@@ -5679,6 +5636,12 @@ 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 "จะทำà¸à¸²à¸£à¸ªà¹à¸à¸™à¸«à¸²à¹‚ปรเจà¸à¸•à¹Œà¹ƒà¸™ %s โฟลเดอร์ ยืนยัน?"
@@ -5708,6 +5671,11 @@ msgid "Exit"
msgstr "ออà¸"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "หาโหนดà¹à¸¡à¹ˆà¹ƒà¸«à¸¡à¹ˆ"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "ไม่สามารถรันโปรเจà¸à¸•à¹Œ"
@@ -5865,7 +5833,6 @@ msgid "Add Global Property"
msgstr "เพิ่มคุณสมบัติทั่วไป"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Select a setting item first!"
msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¸•à¸±à¸§à¹€à¸¥à¸·à¸­à¸à¸à¹ˆà¸­à¸™!"
@@ -5882,14 +5849,12 @@ msgid "Delete Item"
msgstr "ลบไอเทม"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Can't contain '/' or ':'"
-msgstr "ไม่สามารถเชื่อมต่อà¸à¸±à¸šà¹‚ฮสต์:"
+msgstr "ต้องไม่มี '/' หรือ ':'"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Already existing"
-msgstr "มีà¸à¸²à¸£à¸à¸£à¸°à¸—ำ '%s' อยู่à¹à¸¥à¹‰à¸§!"
+msgstr "มีอยู่à¸à¹ˆà¸­à¸™à¹à¸¥à¹‰à¸§"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
@@ -5932,6 +5897,15 @@ msgid "Remove Resource Remap Option"
msgstr "ลบà¸à¸²à¸£à¹à¸—นที่"
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "ตัวเลือà¸à¹‚ปรเจà¸à¸•à¹Œ (project.godot)"
@@ -5992,6 +5966,30 @@ msgid "Locale"
msgstr "ท้องถิ่น"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "ท้องถิ่น"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "ตัวà¸à¸£à¸­à¸‡"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "ท้องถิ่น"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "ออโต้โหลด"
@@ -6040,18 +6038,16 @@ msgid "New Script"
msgstr "สคริปต์ใหม่"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Make Unique"
-msgstr "สร้างà¸à¸£à¸°à¸”ูà¸"
+msgstr "ไม่ใช้ร่วมà¸à¸±à¸šà¸§à¸±à¸•à¸–ุอื่น"
#: editor/property_editor.cpp
msgid "Show in File System"
msgstr "เปิดในตัวจัดà¸à¸²à¸£à¹„ฟล์"
#: editor/property_editor.cpp
-#, fuzzy
msgid "Convert To %s"
-msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™.."
+msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ %s"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
@@ -6090,7 +6086,6 @@ msgid "Select Property"
msgstr "เลือà¸à¸„ุณสมบัติ"
#: editor/property_selector.cpp
-#, fuzzy
msgid "Select Virtual Method"
msgstr "เลือà¸à¹€à¸¡à¸—็อด"
@@ -6442,9 +6437,8 @@ msgid "Directory of the same name exists"
msgstr ""
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "File exists, will be reused"
-msgstr "มีไฟล์นี้อยู่à¹à¸¥à¹‰à¸§ จะเขียนทับหรือไม่?"
+msgstr "มีไฟล์นี้อยู่à¹à¸¥à¹‰à¸§ จะนำมาใช้"
#: editor/script_create_dialog.cpp
msgid "Invalid extension"
@@ -6697,9 +6691,8 @@ msgid "Change Probe Extents"
msgstr "à¹à¸à¹‰à¹„ขขนาด Probe"
#: modules/gdnative/gd_native_library_editor.cpp
-#, fuzzy
msgid "Library"
-msgstr "MeshLibrary.."
+msgstr "ไลบรารี"
#: modules/gdnative/gd_native_library_editor.cpp
#, fuzzy
@@ -6761,29 +6754,24 @@ msgid "Object can't provide a length."
msgstr "ไม่สามารถบอà¸à¸„วามยาวของวัตถุได้"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Delete Selection"
-msgstr "ลบสิ่งที่เลือà¸"
+msgstr "ลบที่เลือà¸à¹ƒà¸™ GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Duplicate Selection"
-msgstr "ทำซ้ำในà¹à¸—ร็à¸à¹€à¸”ิม"
+msgstr "ทำซ้ำใน GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Snap View"
-msgstr "มุมบน"
+msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Prev Level (%sDown Wheel)"
-msgstr "ชั้นà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸² ("
+msgstr "ชั้นà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸² (%sล้อเมาส์ลง)"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Next Level (%sUp Wheel)"
-msgstr "ชั้นถัดไป ("
+msgstr "ชั้นถัดไป (%sล้อเมาส์ขึ้น)"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
@@ -7527,6 +7515,15 @@ msgstr "ผิดพลาดขณะโหลดฟอนต์"
msgid "Invalid font size."
msgstr "ขนาดฟอนต์ผิดพลาด"
+#~ msgid "Filter:"
+#~ msgstr "ตัวà¸à¸£à¸­à¸‡:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' ผิดพลาดขณะอ่านไฟล์"
+
+#~ msgid "Theme"
+#~ msgstr "ธีม"
+
#~ msgid "Method List For '%s':"
#~ msgstr "รายชื่อเมท็อดของ '%s':"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 9d68331ae5..afb2c82be1 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -1,5 +1,6 @@
# Turkish translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Aprın Çor Tigin <kabusturk38@gmail.com>, 2016-2017.
@@ -1247,10 +1248,6 @@ msgid "File:"
msgstr "Dizeç:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "Süzgeç:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "Gecerli bir uzantı kullanılmalı."
@@ -1721,19 +1718,25 @@ msgid "Pick a Main Scene"
msgstr "Bir Ana Sahne Seç"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "Yazı tipi %s yüklerken sorun oluştu"
+
+#: 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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2290,7 +2293,8 @@ msgid "Frame %"
msgstr "Kare %"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "Sabit Kare %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -4015,7 +4019,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "Uyarı"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4498,7 +4502,8 @@ msgstr "İçeri Adımla"
msgid "Break"
msgstr "Ara Ver"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "Devam Et"
@@ -4600,7 +4605,8 @@ msgid "Cut"
msgstr "Kes"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "Tıpkıla"
@@ -5379,8 +5385,12 @@ msgid "Remove All"
msgstr "Kaldır"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Kalıp"
+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"
@@ -5686,7 +5696,7 @@ msgstr "Döşenti Dizi Dışa Aktar"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "Dizeç yok."
#: editor/project_manager.cpp
@@ -5827,6 +5837,12 @@ 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 ""
@@ -5860,6 +5876,11 @@ msgstr "Çık"
#: editor/project_manager.cpp
#, fuzzy
+msgid "Restart Now"
+msgstr "Yeniden BaÅŸlat (sn):"
+
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Can't run project"
msgstr "Bağlanamadı."
@@ -6091,6 +6112,15 @@ msgstr "Kaynak Yeniden Eşle Seçeneğini Kaldır"
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "Karışım Süresini Değiştir"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "Tasarı Ayarları (engine.cfg)"
@@ -6151,6 +6181,30 @@ msgid "Locale"
msgstr "Yerel"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "Bediz Süzgeci:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "Kemikleri Göster"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "Süzgeçler"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "Yerel"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "KendindenYükle"
@@ -7765,6 +7819,12 @@ msgstr "Yazı türü yüklerken sorun oluştu."
msgid "Invalid font size."
msgstr "Geçersiz yazı türü boyutu."
+#~ msgid "Filter:"
+#~ msgstr "Süzgeç:"
+
+#~ msgid "Theme"
+#~ msgstr "Kalıp"
+
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' İçin Yöntem Dizelgesi:"
@@ -8685,9 +8745,6 @@ msgstr "Geçersiz yazı türü boyutu."
#~ msgid "Preview Atlas"
#~ msgstr "Atlası Önizle"
-#~ msgid "Image Filter:"
-#~ msgstr "Bediz Süzgeci:"
-
#~ msgid "Images:"
#~ msgstr "Bedizler:"
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index 3623a4394c..3b624f4c8c 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -1,5 +1,6 @@
# Urdu (Pakistan) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Muhammad Ali <ali@codeonion.com>, 2016.
@@ -1209,10 +1210,6 @@ msgid "File:"
msgstr ""
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr ""
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1655,19 +1652,24 @@ msgid "Pick a Main Scene"
msgstr "ایک مینو منظر چنیں"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+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
@@ -2187,7 +2189,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3838,7 +3840,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4301,7 +4303,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4395,7 +4398,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5155,7 +5159,11 @@ msgid "Remove All"
msgstr ".تمام کا انتخاب"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5439,7 +5447,7 @@ msgid "Export With Debug"
msgstr ""
#: editor/project_manager.cpp
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
@@ -5568,6 +5576,12 @@ 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 ""
@@ -5598,6 +5612,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr ""
@@ -5819,6 +5837,14 @@ 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 ""
@@ -5879,6 +5905,26 @@ 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 ""
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 9dff317a28..3a67defced 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -1,5 +1,6 @@
# Chinese (China) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# 纯æ´çš„å蛋 <tqj.zyy@gmail.com>, 2016.
@@ -1221,10 +1222,6 @@ msgid "File:"
msgstr "文件:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "筛选:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "必须使用åˆæ³•çš„拓展å。"
@@ -1682,19 +1679,29 @@ msgid "Pick a Main Scene"
msgstr "选择主场景"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+#, fuzzy
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr "无法å¯ç”¨æ’件: '"
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
-msgstr "' 解æžé…置失败。"
+#, fuzzy
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
+msgstr "在æ’件目录中没有找到脚本: 'res://addons/"
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
-msgstr "在æ’件目录中没有找到脚本: 'res://addons/"
+#, fuzzy
+msgid "Unable to load addon script from path: '%s'."
+msgstr "无法从路径加载æ’件脚本: '"
#: editor/editor_node.cpp
-msgid "Unable to load addon script from path: '"
+#, fuzzy
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr "无法从路径加载æ’件脚本: '"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr "无法从路径加载æ’件脚本: '"
#: editor/editor_node.cpp
@@ -2228,7 +2235,8 @@ msgid "Frame %"
msgstr "渲染速度"
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+#, fuzzy
+msgid "Physics Frame %"
msgstr "固定帧速率 %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3921,7 +3929,7 @@ msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
#, fuzzy
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr "警告"
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4388,7 +4396,8 @@ msgstr "å•æ­¥è¿›å…¥"
msgid "Break"
msgstr "跳过"
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr "继续"
@@ -4484,7 +4493,8 @@ msgid "Cut"
msgstr "剪切"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "å¤åˆ¶"
@@ -5242,8 +5252,12 @@ msgid "Remove All"
msgstr "移除全部"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "主题"
+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"
@@ -5529,7 +5543,7 @@ msgstr "导出为调试"
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "文件ä¸å­˜åœ¨ã€‚"
#: editor/project_manager.cpp
@@ -5668,6 +5682,12 @@ 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 "您确认è¦æ‰«æ%s目录下现有的Godot项目å—?"
@@ -5697,6 +5717,11 @@ msgid "Exit"
msgstr "退出"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Restart Now"
+msgstr "é‡æ–°å¼€å§‹ï¼ˆç§’):"
+
+#: editor/project_manager.cpp
msgid "Can't run project"
msgstr "无法è¿è¡Œé¡¹ç›®"
@@ -5921,6 +5946,15 @@ msgid "Remove Resource Remap Option"
msgstr "移除资æºé‡å®šå‘选项"
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "项目设置(project.godot)"
@@ -5981,6 +6015,30 @@ msgid "Locale"
msgstr "地区"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales Filter"
+msgstr "纹ç†è¿‡æ»¤:"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Show all locales"
+msgstr "显示骨骼"
+
+#: editor/project_settings_editor.cpp
+msgid "Show only selected locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Filter mode:"
+msgstr "筛选节点"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Locales:"
+msgstr "地区"
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr "自动加载(AutoLoad)"
@@ -7514,6 +7572,15 @@ msgstr "加载字体出错。"
msgid "Invalid font size."
msgstr "字体大å°éžæ³•ã€‚"
+#~ msgid "Filter:"
+#~ msgstr "筛选:"
+
+#~ msgid "' parsing of config failed."
+#~ msgstr "' 解æžé…置失败。"
+
+#~ msgid "Theme"
+#~ msgstr "主题"
+
#~ msgid "Method List For '%s':"
#~ msgstr "'%s'的方法列表:"
@@ -8439,9 +8506,6 @@ msgstr "字体大å°éžæ³•ã€‚"
#~ msgid "Preview Atlas"
#~ msgstr "ç²¾çµé›†é¢„览"
-#~ msgid "Image Filter:"
-#~ msgstr "纹ç†è¿‡æ»¤:"
-
#~ msgid "Images:"
#~ msgstr "图片:"
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index e4f565f0c3..3828ea059c 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -1,5 +1,6 @@
# Chinese (Hong Kong) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Wesley (zx-wt) <ZX_WT@ymail.com>, 2016-2017.
@@ -1239,10 +1240,6 @@ msgid "File:"
msgstr "檔案:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "篩é¸:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr "請用有效的副檔å"
@@ -1703,19 +1700,25 @@ msgid "Pick a Main Scene"
msgstr "é¸æ“‡ä¸»å ´æ™¯"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
msgstr ""
#: editor/editor_node.cpp
-msgid "' parsing of config failed."
+msgid "Unable to find script field for addon plugin at: 'res://addons/%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+#, fuzzy
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2243,7 +2246,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3913,7 +3916,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4377,7 +4380,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4474,7 +4478,8 @@ msgid "Cut"
msgstr "剪下"
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 "複製"
@@ -5242,7 +5247,11 @@ msgid "Remove All"
msgstr "移除"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5534,7 +5543,7 @@ msgstr ""
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "檔案ä¸å­˜åœ¨."
#: editor/project_manager.cpp
@@ -5665,6 +5674,12 @@ 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 ""
@@ -5695,6 +5710,10 @@ msgid "Exit"
msgstr "離開"
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "ä¸èƒ½é€£æŽ¥ã€‚"
@@ -5922,6 +5941,14 @@ 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 ""
@@ -5982,6 +6009,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "篩é¸:"
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7510,6 +7558,9 @@ msgstr "載入字形出ç¾éŒ¯èª¤"
msgid "Invalid font size."
msgstr "無效字型"
+#~ msgid "Filter:"
+#~ msgstr "篩é¸:"
+
#~ msgid "Added:"
#~ msgstr "已加入:"
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index 44b6b730d5..7a392613d2 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -1,5 +1,6 @@
# Chinese (Taiwan) translation of the Godot Engine editor
-# Copyright (C) 2016-2017 Juan Linietsky, Ariel Manzur and the Godot community
+# 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.
#
# Allen H <w84miracle@gmail.com>, 2017.
@@ -1221,10 +1222,6 @@ msgid "File:"
msgstr "檔案:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-msgid "Filter:"
-msgstr "éŽæ¿¾å™¨:"
-
-#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
msgstr ""
@@ -1672,19 +1669,24 @@ msgid "Pick a Main Scene"
msgstr "挑一個主è¦å ´æ™¯"
#: editor/editor_node.cpp
-msgid "Unable to enable addon plugin at: '"
+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 "' parsing of config failed."
+msgid "Unable to load addon script from path: '%s'."
msgstr ""
#: editor/editor_node.cpp
-msgid "Unable to find script field for addon plugin at: 'res://addons/"
+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: '"
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
#: editor/editor_node.cpp
@@ -2207,7 +2209,7 @@ msgid "Frame %"
msgstr ""
#: editor/editor_profiler.cpp
-msgid "Fixed Frame %"
+msgid "Physics Frame %"
msgstr ""
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
@@ -3868,7 +3870,7 @@ msgid "Eroding walkable area..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partioning..."
+msgid "Partitioning..."
msgstr ""
#: editor/plugins/navigation_mesh_generator.cpp
@@ -4329,7 +4331,8 @@ msgstr ""
msgid "Break"
msgstr ""
-#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
msgid "Continue"
msgstr ""
@@ -4425,7 +4428,8 @@ msgid "Cut"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/property_editor.cpp
+#: editor/plugins/shader_editor_plugin.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 ""
@@ -5187,7 +5191,11 @@ msgid "Remove All"
msgstr "移除"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Edit theme.."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5475,7 +5483,7 @@ msgstr ""
#: editor/project_manager.cpp
#, fuzzy
-msgid "The path does not exists."
+msgid "The path does not exist."
msgstr "檔案ä¸å­˜åœ¨"
#: editor/project_manager.cpp
@@ -5606,6 +5614,12 @@ 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 ""
@@ -5635,6 +5649,10 @@ msgid "Exit"
msgstr ""
#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
msgid "Can't run project"
msgstr "連接..."
@@ -5859,6 +5877,15 @@ msgstr ""
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Changed Locale Filter"
+msgstr "變更é¡é ­å°ºå¯¸"
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Project Settings (project.godot)"
msgstr "專案設定"
@@ -5919,6 +5946,27 @@ 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
+#, fuzzy
+msgid "Filter mode:"
+msgstr "éŽæ¿¾æª”案.."
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "AutoLoad"
msgstr ""
@@ -7429,6 +7477,9 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#~ msgid "Filter:"
+#~ msgstr "éŽæ¿¾å™¨:"
+
#~ msgid "Arguments:"
#~ msgstr "輸入åƒæ•¸"
diff --git a/methods.py b/methods.py
index 0ae831f942..b62dfc6544 100644
--- a/methods.py
+++ b/methods.py
@@ -1710,9 +1710,13 @@ def generate_vs_project(env, num_jobs):
env.AddToVSProject(env.servers_sources)
env.AddToVSProject(env.editor_sources)
- env['MSVSBUILDCOM'] = build_commandline('scons --directory="$(ProjectDir)" platform=windows target=$(Configuration) tools=!tools! -j' + str(num_jobs))
- env['MSVSREBUILDCOM'] = build_commandline('scons --directory="$(ProjectDir)" platform=windows target=$(Configuration) tools=!tools! vsproj=yes -j' + str(num_jobs))
- env['MSVSCLEANCOM'] = build_commandline('scons --directory="$(ProjectDir)" --clean platform=windows target=$(Configuration) tools=!tools! -j' + str(num_jobs))
+ # windows allows us to have spaces in paths, so we need
+ # to double quote off the directory. However, the path ends
+ # in a backslash, so we need to remove this, lest it escape the
+ # last double quote off, confusing MSBuild
+ env['MSVSBUILDCOM'] = build_commandline('scons --directory="$(ProjectDir.TrimEnd(\'\\\'))" platform=windows target=$(Configuration) tools=!tools! -j' + str(num_jobs))
+ env['MSVSREBUILDCOM'] = build_commandline('scons --directory="$(ProjectDir.TrimEnd(\'\\\'))" platform=windows target=$(Configuration) tools=!tools! vsproj=yes -j' + str(num_jobs))
+ env['MSVSCLEANCOM'] = build_commandline('scons --directory="$(ProjectDir.TrimEnd(\'\\\'))" --clean platform=windows target=$(Configuration) tools=!tools! -j' + str(num_jobs))
# This version information (Win32, x64, Debug, Release, Release_Debug seems to be
# required for Visual Studio to understand that it needs to generate an NMAKE
diff --git a/modules/mono/SCsub b/modules/mono/SCsub
index caf4fdb3ca..27e60c4623 100644
--- a/modules/mono/SCsub
+++ b/modules/mono/SCsub
@@ -53,68 +53,151 @@ if env['tools']:
vars = Variables()
vars.Add(BoolVariable('mono_glue', 'Build with the mono glue sources', True))
+vars.Add(BoolVariable('xbuild_fallback', 'If MSBuild is not found, fallback to xbuild', False))
vars.Update(env)
# Glue sources
if env['mono_glue']:
env.add_source_files(env.modules_sources, 'glue/*.cpp')
else:
- env.Append(CPPDEFINES = [ 'MONO_GLUE_DISABLED' ])
+ env.Append(CPPDEFINES=['MONO_GLUE_DISABLED'])
if ARGUMENTS.get('yolo_copy', False):
- env.Append(CPPDEFINES = [ 'YOLO_COPY' ])
+ env.Append(CPPDEFINES=['YOLO_COPY'])
+
# Build GodotSharpTools solution
+
import os
-import subprocess
-import mono_reg_utils as monoreg
+
+
+def find_msbuild_unix(filename):
+ import os.path
+ import sys
+
+ hint_dirs = ['/opt/novell/mono/bin']
+ if sys.platform == "darwin":
+ hint_dirs = ['/Library/Frameworks/Mono.framework/Versions/Current/bin'] + hint_dirs
+
+ for hint_dir in hint_dirs:
+ hint_path = os.path.join(hint_dir, filename)
+ if os.path.isfile(hint_path):
+ return hint_path
+
+ for hint_dir in os.environ["PATH"].split(os.pathsep):
+ hint_dir = hint_dir.strip('"')
+ hint_path = os.path.join(hint_dir, filename)
+ if os.path.isfile(hint_path) and os.access(hint_path, os.X_OK):
+ return hint_path
+
+ return None
+
+
+def find_msbuild_windows():
+ import mono_reg_utils as monoreg
+
+ bits = env['bits']
+
+ if bits == '32':
+ if os.getenv('MONO32_PREFIX'):
+ mono_root = os.getenv('MONO32_PREFIX')
+ else:
+ mono_root = monoreg.find_mono_root_dir(bits)
+ else:
+ if os.getenv('MONO64_PREFIX'):
+ mono_root = os.getenv('MONO64_PREFIX')
+ else:
+ mono_root = monoreg.find_mono_root_dir(bits)
+
+ if not mono_root:
+ raise RuntimeError('Cannot find mono root directory')
+
+ msbuild_tools_path = monoreg.find_msbuild_tools_path_reg()
+
+ if msbuild_tools_path:
+ return (os.path.join(msbuild_tools_path, 'MSBuild.exe'), os.path.join(mono_root, 'lib', 'mono', '4.5'))
+ else:
+ msbuild_mono = os.path.join(mono_root, 'bin', 'msbuild.bat')
+
+ if os.path.isfile(msbuild_mono):
+ return (msbuild_mono, '')
+
+ return None
def mono_build_solution(source, target, env):
+ import subprocess
+ import mono_reg_utils as monoreg
+ from shutil import copyfile
+
+ framework_path_override = ''
+
if os.name == 'nt':
- msbuild_tools_path = monoreg.find_msbuild_tools_path_reg()
- if not msbuild_tools_path:
- raise RuntimeError('Cannot find MSBuild Tools Path in the registry')
- msbuild_path = os.path.join(msbuild_tools_path, 'MSBuild.exe')
+ msbuild_info = find_msbuild_windows()
+ if msbuild_info is None:
+ raise RuntimeError('Cannot find MSBuild executable')
+ msbuild_path = msbuild_info[0]
+ framework_path_override = msbuild_info[1]
else:
- msbuild_path = 'msbuild'
+ msbuild_path = find_msbuild_unix('msbuild')
+ if msbuild_path is None:
+ xbuild_fallback = env['xbuild_fallback']
+
+ if xbuild_fallback and os.name == 'nt':
+ print("Option 'xbuild_fallback' not supported on Windows")
+ xbuild_fallback = False
+
+ if xbuild_fallback:
+ print('Cannot find MSBuild executable, trying with xbuild')
+ print('Warning: xbuild is deprecated')
+
+ msbuild_path = find_msbuild_unix('xbuild')
+
+ if msbuild_path is None:
+ raise RuntimeError('Cannot find xbuild executable')
+ else:
+ raise RuntimeError('Cannot find MSBuild executable')
+
+ print('MSBuild path: ' + msbuild_path)
- output_path = os.path.abspath(os.path.join(str(target[0]), os.pardir))
+ build_config = 'Release'
msbuild_args = [
msbuild_path,
os.path.abspath(str(source[0])),
- '/p:Configuration=Release',
- '/p:OutputPath=' + output_path
+ '/p:Configuration=' + build_config,
]
+ if framework_path_override:
+ msbuild_args += ['/p:FrameworkPathOverride=' + framework_path_override]
+
msbuild_env = os.environ.copy()
# Needed when running from Developer Command Prompt for VS
if 'PLATFORM' in msbuild_env:
del msbuild_env['PLATFORM']
- msbuild_alt_paths = [ 'xbuild' ]
-
- while True:
- try:
- subprocess.check_call(msbuild_args, env = msbuild_env)
- break
- except subprocess.CalledProcessError:
- raise RuntimeError('GodotSharpTools build failed')
- except OSError:
- if os.name != 'nt':
- if not msbuild_alt_paths:
- raise RuntimeError('Could not find commands msbuild or xbuild')
- # Try xbuild
- msbuild_args[0] = msbuild_alt_paths.pop(0)
- else:
- raise RuntimeError('Could not find command MSBuild.exe')
+ try:
+ subprocess.check_call(msbuild_args, env=msbuild_env)
+ except subprocess.CalledProcessError:
+ raise RuntimeError('GodotSharpTools build failed')
+
+ src_dir = os.path.abspath(os.path.join(str(source[0]), os.pardir, 'bin', build_config))
+ dst_dir = os.path.abspath(os.path.join(str(target[0]), os.pardir))
+
+ if not os.path.isdir(dst_dir):
+ if os.path.exists(dst_dir):
+ raise RuntimeError('Target directory is a file')
+ os.makedirs(dst_dir)
+
+ asm_file = 'GodotSharpTools.dll'
+
+ copyfile(os.path.join(src_dir, asm_file), os.path.join(dst_dir, asm_file))
mono_sln_builder = Builder(action = mono_build_solution)
-env.Append(BUILDERS = { 'MonoBuildSolution' : mono_sln_builder })
+env.Append(BUILDERS={'MonoBuildSolution': mono_sln_builder})
env.MonoBuildSolution(
os.path.join(Dir('#bin').abspath, 'GodotSharpTools.dll'),
'editor/GodotSharpTools/GodotSharpTools.sln'
diff --git a/modules/mono/config.py b/modules/mono/config.py
index 0833d30ce1..44eef45f76 100644
--- a/modules/mono/config.py
+++ b/modules/mono/config.py
@@ -2,7 +2,6 @@
import imp
import os
import sys
-from shutil import copyfile
from SCons.Script import BoolVariable, Environment, Variables
@@ -16,8 +15,7 @@ def find_file_in_dir(directory, files, prefix='', extension=''):
for curfile in files:
if os.path.isfile(os.path.join(directory, prefix + curfile + extension)):
return curfile
-
- return None
+ return ''
def can_build(platform):
@@ -31,6 +29,22 @@ def is_enabled():
return False
+def copy_file_no_replace(src_dir, dst_dir, name):
+ from shutil import copyfile
+
+ src_path = os.path.join(src_dir, name)
+ dst_path = os.path.join(dst_dir, name)
+ need_copy = True
+
+ if not os.path.isdir(dst_dir):
+ os.mkdir(dst_dir)
+ elif os.path.exists(dst_path):
+ need_copy = False
+
+ if need_copy:
+ copyfile(src_path, dst_path)
+
+
def configure(env):
env.use_ptrcall = True
@@ -38,6 +52,8 @@ def configure(env):
envvars.Add(BoolVariable('mono_static', 'Statically link mono', False))
envvars.Update(env)
+ bits = env['bits']
+
mono_static = env['mono_static']
mono_lib_names = ['mono-2.0-sgen', 'monosgen-2.0']
@@ -46,18 +62,18 @@ def configure(env):
if mono_static:
raise RuntimeError('mono-static: Not supported on Windows')
- if env['bits'] == '32':
+ if bits == '32':
if os.getenv('MONO32_PREFIX'):
mono_root = os.getenv('MONO32_PREFIX')
elif os.name == 'nt':
- mono_root = monoreg.find_mono_root_dir()
+ mono_root = monoreg.find_mono_root_dir(bits)
else:
if os.getenv('MONO64_PREFIX'):
mono_root = os.getenv('MONO64_PREFIX')
elif os.name == 'nt':
- mono_root = monoreg.find_mono_root_dir()
+ mono_root = monoreg.find_mono_root_dir(bits)
- if mono_root is None:
+ if not mono_root:
raise RuntimeError('Mono installation directory not found')
mono_lib_path = os.path.join(mono_root, 'lib')
@@ -67,7 +83,7 @@ def configure(env):
mono_lib_name = find_file_in_dir(mono_lib_path, mono_lib_names, extension='.lib')
- if mono_lib_name is None:
+ if not mono_lib_name:
raise RuntimeError('Could not find mono library in: ' + mono_lib_path)
if os.getenv('VCINSTALLDIR'):
@@ -79,28 +95,23 @@ def configure(env):
mono_dll_name = find_file_in_dir(mono_bin_path, mono_lib_names, extension='.dll')
- mono_dll_src = os.path.join(mono_bin_path, mono_dll_name + '.dll')
- mono_dll_dst = os.path.join('bin', mono_dll_name + '.dll')
- copy_mono_dll = True
-
- if not os.path.isdir('bin'):
- os.mkdir('bin')
- elif os.path.exists(mono_dll_dst):
- copy_mono_dll = False
+ if not mono_dll_name:
+ raise RuntimeError('Could not find mono shared library in: ' + mono_bin_path)
- if copy_mono_dll:
- copyfile(mono_dll_src, mono_dll_dst)
+ copy_file_no_replace(mono_bin_path, 'bin', mono_dll_name + '.dll')
else:
- mono_root = None
+ sharedlib_ext = '.dylib' if sys.platform == 'darwin' else '.so'
- if env['bits'] == '32':
+ mono_root = ''
+
+ if bits == '32':
if os.getenv('MONO32_PREFIX'):
mono_root = os.getenv('MONO32_PREFIX')
else:
if os.getenv('MONO64_PREFIX'):
mono_root = os.getenv('MONO64_PREFIX')
- if mono_root is not None:
+ if mono_root:
mono_lib_path = os.path.join(mono_root, 'lib')
env.Append(LIBPATH=mono_lib_path)
@@ -108,7 +119,7 @@ def configure(env):
mono_lib = find_file_in_dir(mono_lib_path, mono_lib_names, prefix='lib', extension='.a')
- if mono_lib is None:
+ if not mono_lib:
raise RuntimeError('Could not find mono library in: ' + mono_lib_path)
env.Append(CPPFLAGS=['-D_REENTRANT'])
@@ -130,12 +141,37 @@ def configure(env):
elif sys.platform == "linux" or sys.platform == "linux2":
env.Append(LIBS=['m', 'rt', 'dl', 'pthread'])
+ if not mono_static:
+ mono_so_name = find_file_in_dir(mono_lib_path, mono_lib_names, prefix='lib', extension=sharedlib_ext)
+
+ if not mono_so_name:
+ raise RuntimeError('Could not find mono shared library in: ' + mono_lib_path)
+
+ copy_file_no_replace(mono_lib_path, 'bin', 'lib' + mono_so_name + sharedlib_ext)
else:
if mono_static:
raise RuntimeError('mono-static: Not supported with pkg-config. Specify a mono prefix manually')
env.ParseConfig('pkg-config monosgen-2 --cflags --libs')
+ mono_lib_path = ''
+ mono_so_name = ''
+
+ tmpenv = Environment()
+ tmpenv.ParseConfig('pkg-config monosgen-2 --libs-only-L')
+
+ for hint_dir in tmpenv['LIBPATH']:
+ name_found = find_file_in_dir(hint_dir, mono_lib_names, prefix='lib', extension=sharedlib_ext)
+ if name_found:
+ mono_lib_path = hint_dir
+ mono_so_name = name_found
+ break
+
+ if not mono_so_name:
+ raise RuntimeError('Could not find mono shared library in: ' + str(tmpenv['LIBPATH']))
+
+ copy_file_no_replace(mono_lib_path, 'bin', 'lib' + mono_so_name + sharedlib_ext)
+
env.Append(LINKFLAGS='-rdynamic')
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index 2e1cdf8d01..3d91a6de6c 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -477,6 +477,7 @@ void CSharpLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft
(void)p_script; // UNUSED
#ifdef TOOLS_ENABLED
+ MonoReloadNode::get_singleton()->restart_reload_timer();
reload_assemblies_if_needed(p_soft_reload);
#endif
}
@@ -624,6 +625,9 @@ void CSharpLanguage::reload_assemblies_if_needed(bool p_soft_reload) {
//if instance states were saved, set them!
}
+
+ if (Engine::get_singleton()->is_editor_hint())
+ EditorNode::get_singleton()->get_property_editor()->update_tree();
}
#endif
diff --git a/modules/mono/editor/GodotSharpTools/Build/BuildSystem.cs b/modules/mono/editor/GodotSharpTools/Build/BuildSystem.cs
index 5544233eb7..04da0600cc 100644
--- a/modules/mono/editor/GodotSharpTools/Build/BuildSystem.cs
+++ b/modules/mono/editor/GodotSharpTools/Build/BuildSystem.cs
@@ -4,6 +4,7 @@ using System.Collections.Specialized;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
using System.Security;
using Microsoft.Build.Framework;
@@ -12,22 +13,27 @@ namespace GodotSharpTools.Build
public class BuildInstance : IDisposable
{
[MethodImpl(MethodImplOptions.InternalCall)]
- internal extern static void godot_icall_BuildInstance_ExitCallback(string solution, string config, int exitCode);
+ private extern static void godot_icall_BuildInstance_ExitCallback(string solution, string config, int exitCode);
[MethodImpl(MethodImplOptions.InternalCall)]
- internal extern static string godot_icall_BuildInstance_get_MSBuildPath();
+ private extern static void godot_icall_BuildInstance_get_MSBuildInfo(ref string msbuildPath, ref string frameworkPath);
- private static string MSBuildPath
+ private struct MSBuildInfo
{
- get
- {
- string ret = godot_icall_BuildInstance_get_MSBuildPath();
+ public string path;
+ public string frameworkPathOverride;
+ }
- if (ret == null)
- throw new FileNotFoundException("Cannot find the MSBuild executable.");
+ private static MSBuildInfo GetMSBuildInfo()
+ {
+ MSBuildInfo msbuildInfo = new MSBuildInfo();
- return ret;
- }
+ godot_icall_BuildInstance_get_MSBuildInfo(ref msbuildInfo.path, ref msbuildInfo.frameworkPathOverride);
+
+ if (msbuildInfo.path == null)
+ throw new FileNotFoundException("Cannot find the MSBuild executable.");
+
+ return msbuildInfo;
}
private string solution;
@@ -48,9 +54,19 @@ namespace GodotSharpTools.Build
public bool Build(string loggerAssemblyPath, string loggerOutputDir, string[] customProperties = null)
{
- string compilerArgs = BuildArguments(loggerAssemblyPath, loggerOutputDir, customProperties);
+ MSBuildInfo msbuildInfo = GetMSBuildInfo();
+
+ List<string> customPropertiesList = new List<string>();
+
+ if (customProperties != null)
+ customPropertiesList.AddRange(customProperties);
+
+ if (msbuildInfo.frameworkPathOverride != null)
+ customPropertiesList.Add("FrameworkPathOverride=" + msbuildInfo.frameworkPathOverride);
- ProcessStartInfo startInfo = new ProcessStartInfo(MSBuildPath, compilerArgs);
+ string compilerArgs = BuildArguments(loggerAssemblyPath, loggerOutputDir, customPropertiesList);
+
+ ProcessStartInfo startInfo = new ProcessStartInfo(msbuildInfo.path, compilerArgs);
// No console output, thanks
startInfo.RedirectStandardOutput = true;
@@ -82,9 +98,19 @@ namespace GodotSharpTools.Build
if (process != null)
throw new InvalidOperationException("Already in use");
- string compilerArgs = BuildArguments(loggerAssemblyPath, loggerOutputDir, customProperties);
+ MSBuildInfo msbuildInfo = GetMSBuildInfo();
+
+ List<string> customPropertiesList = new List<string>();
+
+ if (customProperties != null)
+ customPropertiesList.AddRange(customProperties);
+
+ if (msbuildInfo.frameworkPathOverride.Length > 0)
+ customPropertiesList.Add("FrameworkPathOverride=" + msbuildInfo.frameworkPathOverride);
- ProcessStartInfo startInfo = new ProcessStartInfo("msbuild", compilerArgs);
+ string compilerArgs = BuildArguments(loggerAssemblyPath, loggerOutputDir, customPropertiesList);
+
+ ProcessStartInfo startInfo = new ProcessStartInfo(msbuildInfo.path, compilerArgs);
// No console output, thanks
startInfo.RedirectStandardOutput = true;
@@ -101,10 +127,13 @@ namespace GodotSharpTools.Build
process.Start();
+ process.BeginOutputReadLine();
+ process.BeginErrorReadLine();
+
return true;
}
- private string BuildArguments(string loggerAssemblyPath, string loggerOutputDir, string[] customProperties)
+ private string BuildArguments(string loggerAssemblyPath, string loggerOutputDir, List<string> customProperties)
{
string arguments = string.Format(@"""{0}"" /v:normal /t:Build ""/p:{1}"" ""/l:{2},{3};{4}""",
solution,
@@ -114,12 +143,9 @@ namespace GodotSharpTools.Build
loggerOutputDir
);
- if (customProperties != null)
+ foreach (string customProperty in customProperties)
{
- foreach (string customProperty in customProperties)
- {
- arguments += " /p:" + customProperty;
- }
+ arguments += " \"/p:" + customProperty + "\"";
}
return arguments;
diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp
index 6cb4d09a51..eb504ec021 100644
--- a/modules/mono/editor/bindings_generator.cpp
+++ b/modules/mono/editor/bindings_generator.cpp
@@ -439,7 +439,7 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo
}
if (verbose_output)
- OS::get_singleton()->print("Core API solution and C# project generated successfully!\n");
+ OS::get_singleton()->print("The solution and C# project for the Core API was generated successfully\n");
return OK;
}
@@ -534,7 +534,7 @@ Error BindingsGenerator::generate_cs_editor_project(const String &p_output_dir,
}
if (verbose_output)
- OS::get_singleton()->print("Editor API solution and C# project generated successfully!\n");
+ OS::get_singleton()->print("The solution and C# project for the Editor API was generated successfully\n");
return OK;
}
@@ -543,8 +543,6 @@ 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) {
- int method_bind_count = 0;
-
bool is_derived_type = itype.base_name.length();
List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls;
@@ -554,51 +552,51 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str
String ctor_method(ICALL_PREFIX + itype.proxy_name + "_Ctor");
- List<String> cs_file;
+ List<String> output;
- cs_file.push_back("using System;\n"); // IntPtr
+ output.push_back("using System;\n"); // IntPtr
if (itype.requires_collections)
- cs_file.push_back("using System.Collections.Generic;\n"); // Dictionary
+ output.push_back("using System.Collections.Generic;\n"); // Dictionary
- cs_file.push_back("\nnamespace " BINDINGS_NAMESPACE "\n" OPEN_BLOCK);
+ output.push_back("\nnamespace " BINDINGS_NAMESPACE "\n" OPEN_BLOCK);
const DocData::ClassDoc *class_doc = itype.class_doc;
if (class_doc && class_doc->description.size()) {
- cs_file.push_back(INDENT1 "/// <summary>\n");
+ output.push_back(INDENT1 "/// <summary>\n");
Vector<String> description_lines = class_doc->description.split("\n");
for (int i = 0; i < description_lines.size(); i++) {
if (description_lines[i].size()) {
- cs_file.push_back(INDENT1 "/// ");
- cs_file.push_back(description_lines[i].strip_edges().xml_escape());
- cs_file.push_back("\n");
+ output.push_back(INDENT1 "/// ");
+ output.push_back(description_lines[i].strip_edges().xml_escape());
+ output.push_back("\n");
}
}
- cs_file.push_back(INDENT1 "/// </summary>\n");
+ output.push_back(INDENT1 "/// </summary>\n");
}
- cs_file.push_back(INDENT1 "public ");
- cs_file.push_back(itype.is_singleton ? "static class " : "class ");
- cs_file.push_back(itype.proxy_name);
+ output.push_back(INDENT1 "public ");
+ output.push_back(itype.is_singleton ? "static class " : "class ");
+ output.push_back(itype.proxy_name);
if (itype.is_singleton || !itype.is_object_type) {
- cs_file.push_back("\n");
+ output.push_back("\n");
} else if (!is_derived_type) {
- cs_file.push_back(" : IDisposable\n");
+ output.push_back(" : IDisposable\n");
} else if (obj_types.has(itype.base_name)) {
- cs_file.push_back(" : ");
- cs_file.push_back(obj_types[itype.base_name].proxy_name);
- cs_file.push_back("\n");
+ output.push_back(" : ");
+ 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");
+ ERR_PRINTS("Base type '" + itype.base_name + "' does not exist, for class " + itype.name);
return ERR_INVALID_DATA;
}
- cs_file.push_back(INDENT1 "{");
+ output.push_back(INDENT1 "{");
if (class_doc) {
@@ -608,270 +606,165 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str
const DocData::ConstantDoc &const_doc = class_doc->constants[i];
if (const_doc.description.size()) {
- cs_file.push_back(MEMBER_BEGIN "/// <summary>\n");
+ output.push_back(MEMBER_BEGIN "/// <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()) {
- cs_file.push_back(INDENT2 "/// ");
- cs_file.push_back(description_lines[i].strip_edges().xml_escape());
- cs_file.push_back("\n");
+ output.push_back(INDENT2 "/// ");
+ output.push_back(description_lines[i].strip_edges().xml_escape());
+ output.push_back("\n");
}
}
- cs_file.push_back(INDENT2 "/// </summary>");
+ output.push_back(INDENT2 "/// </summary>");
}
- cs_file.push_back(MEMBER_BEGIN "public const int ");
- cs_file.push_back(const_doc.name);
- cs_file.push_back(" = ");
- cs_file.push_back(const_doc.value);
- cs_file.push_back(";");
+ output.push_back(MEMBER_BEGIN "public const int ");
+ output.push_back(const_doc.name);
+ output.push_back(" = ");
+ output.push_back(const_doc.value);
+ output.push_back(";");
}
if (class_doc->constants.size())
- cs_file.push_back("\n");
+ output.push_back("\n");
// Add properties
- const Vector<DocData::PropertyDoc> &properties = itype.class_doc->properties;
+ const Vector<DocData::PropertyDoc> &properties = class_doc->properties;
for (int i = 0; i < properties.size(); i++) {
const DocData::PropertyDoc &prop_doc = properties[i];
-
- const MethodInterface *setter = itype.find_method_by_name(prop_doc.setter);
-
- // Search it in base types too
- const TypeInterface *current_type = &itype;
- while (!setter && current_type->base_name.length()) {
- Map<String, 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(prop_doc.setter);
- }
-
- const MethodInterface *getter = itype.find_method_by_name(prop_doc.getter);
-
- // Search it in base types too
- current_type = &itype;
- while (!getter && current_type->base_name.length()) {
- Map<String, 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(prop_doc.getter);
- }
-
- ERR_FAIL_COND_V(!setter && !getter, ERR_BUG);
-
- bool is_valid = false;
- int prop_index = ClassDB::get_property_index(itype.name, prop_doc.name, &is_valid);
- ERR_FAIL_COND_V(!is_valid, ERR_BUG);
-
- if (setter) {
- int setter_argc = prop_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;
- ERR_FAIL_COND_V(getter->arguments.size() != getter_argc, ERR_BUG);
- }
-
- if (getter && setter) {
- 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;
-
- 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);
-
- String prop_proxy_name = escape_csharp_keyword(snake_to_pascal_case(prop_doc.name));
-
- // Prevent property and enclosing type from sharing the same name
- if (prop_proxy_name == itype.proxy_name) {
- if (verbose_output) {
- WARN_PRINTS("Name of property `" + prop_proxy_name + "` is ambiguous with the name of its class `" +
- itype.proxy_name + "`. Renaming property to `" + prop_proxy_name + "_`");
- }
-
- prop_proxy_name += "_";
- }
-
- if (prop_doc.description.size()) {
- cs_file.push_back(MEMBER_BEGIN "/// <summary>\n");
-
- Vector<String> description_lines = prop_doc.description.split("\n");
-
- for (int i = 0; i < description_lines.size(); i++) {
- if (description_lines[i].size()) {
- cs_file.push_back(INDENT2 "/// ");
- cs_file.push_back(description_lines[i].strip_edges().xml_escape());
- cs_file.push_back("\n");
- }
- }
-
- cs_file.push_back(INDENT2 "/// </summary>");
+ Error prop_err = _generate_cs_property(itype, prop_doc, output);
+ if (prop_err != OK) {
+ ERR_EXPLAIN("Failed to generate property '" + prop_doc.name + "' for class '" + itype.name + "'");
+ ERR_FAIL_V(prop_err);
}
-
- cs_file.push_back(MEMBER_BEGIN "public ");
-
- if (itype.is_singleton)
- cs_file.push_back("static ");
-
- cs_file.push_back(prop_itype->cs_type);
- cs_file.push_back(" ");
- cs_file.push_back(prop_proxy_name.replace("/", "__"));
- cs_file.push_back("\n" INDENT2 OPEN_BLOCK);
-
- if (getter) {
- cs_file.push_back(INDENT3 "get\n" OPEN_BLOCK_L3);
- cs_file.push_back("return ");
- cs_file.push_back(getter->proxy_name + "(");
- if (prop_index != -1)
- cs_file.push_back(itos(prop_index));
- cs_file.push_back(");\n" CLOSE_BLOCK_L3);
- }
-
- if (setter) {
- cs_file.push_back(INDENT3 "set\n" OPEN_BLOCK_L3);
- cs_file.push_back(setter->proxy_name + "(");
- if (prop_index != -1)
- cs_file.push_back(itos(prop_index) + ", ");
- cs_file.push_back("value);\n" CLOSE_BLOCK_L3);
- }
-
- cs_file.push_back(CLOSE_BLOCK_L2);
}
if (class_doc->properties.size())
- cs_file.push_back("\n");
+ output.push_back("\n");
}
if (!itype.is_object_type) {
- cs_file.push_back(MEMBER_BEGIN "private const string " BINDINGS_NATIVE_NAME_FIELD " = \"" + itype.name + "\";\n");
- cs_file.push_back(MEMBER_BEGIN "private bool disposed = false;\n");
- cs_file.push_back(MEMBER_BEGIN "internal IntPtr " BINDINGS_PTR_FIELD ";\n");
+ output.push_back(MEMBER_BEGIN "private const string " BINDINGS_NATIVE_NAME_FIELD " = \"" + itype.name + "\";\n");
+ output.push_back(MEMBER_BEGIN "private bool disposed = false;\n");
+ output.push_back(MEMBER_BEGIN "internal IntPtr " BINDINGS_PTR_FIELD ";\n");
- cs_file.push_back(MEMBER_BEGIN "internal static IntPtr " CS_SMETHOD_GETINSTANCE "(");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back(" instance)\n" OPEN_BLOCK_L2 "return instance == null ? IntPtr.Zero : instance." BINDINGS_PTR_FIELD ";\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "internal static IntPtr " CS_SMETHOD_GETINSTANCE "(");
+ output.push_back(itype.proxy_name);
+ output.push_back(" instance)\n" OPEN_BLOCK_L2 "return instance == null ? IntPtr.Zero : instance." BINDINGS_PTR_FIELD ";\n" CLOSE_BLOCK_L2);
// Add Destructor
- cs_file.push_back(MEMBER_BEGIN "~");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back("()\n" OPEN_BLOCK_L2 "Dispose(false);\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "~");
+ output.push_back(itype.proxy_name);
+ output.push_back("()\n" OPEN_BLOCK_L2 "Dispose(false);\n" CLOSE_BLOCK_L2);
// Add the Dispose from IDisposable
- cs_file.push_back(MEMBER_BEGIN "public void Dispose()\n" OPEN_BLOCK_L2 "Dispose(true);\n" INDENT3 "GC.SuppressFinalize(this);\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "public void Dispose()\n" OPEN_BLOCK_L2 "Dispose(true);\n" INDENT3 "GC.SuppressFinalize(this);\n" CLOSE_BLOCK_L2);
// Add the virtual Dispose
- cs_file.push_back(MEMBER_BEGIN "public virtual void Dispose(bool disposing)\n" OPEN_BLOCK_L2
- "if (disposed) return;\n" INDENT3
- "if (" BINDINGS_PTR_FIELD " != IntPtr.Zero)\n" OPEN_BLOCK_L3 "NativeCalls.godot_icall_");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back("_Dtor(" BINDINGS_PTR_FIELD ");\n" INDENT5 BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" CLOSE_BLOCK_L3 INDENT3
- "GC.SuppressFinalize(this);\n" INDENT3 "disposed = true;\n" CLOSE_BLOCK_L2);
-
- cs_file.push_back(MEMBER_BEGIN "internal ");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back("(IntPtr " BINDINGS_PTR_FIELD ")\n" OPEN_BLOCK_L2 "this." BINDINGS_PTR_FIELD " = " BINDINGS_PTR_FIELD ";\n" CLOSE_BLOCK_L2);
-
- cs_file.push_back(MEMBER_BEGIN "public IntPtr NativeInstance\n" OPEN_BLOCK_L2
- "get { return " BINDINGS_PTR_FIELD "; }\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "public virtual void Dispose(bool disposing)\n" OPEN_BLOCK_L2
+ "if (disposed) return;\n" INDENT3
+ "if (" BINDINGS_PTR_FIELD " != IntPtr.Zero)\n" OPEN_BLOCK_L3 "NativeCalls.godot_icall_");
+ output.push_back(itype.proxy_name);
+ output.push_back("_Dtor(" BINDINGS_PTR_FIELD ");\n" INDENT5 BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" CLOSE_BLOCK_L3 INDENT3
+ "GC.SuppressFinalize(this);\n" INDENT3 "disposed = true;\n" CLOSE_BLOCK_L2);
+
+ output.push_back(MEMBER_BEGIN "internal ");
+ output.push_back(itype.proxy_name);
+ output.push_back("(IntPtr " BINDINGS_PTR_FIELD ")\n" OPEN_BLOCK_L2 "this." BINDINGS_PTR_FIELD " = " BINDINGS_PTR_FIELD ";\n" CLOSE_BLOCK_L2);
+
+ output.push_back(MEMBER_BEGIN "public IntPtr NativeInstance\n" OPEN_BLOCK_L2
+ "get { return " BINDINGS_PTR_FIELD "; }\n" CLOSE_BLOCK_L2);
} else if (itype.is_singleton) {
// Add the type name and the singleton pointer as static fields
- cs_file.push_back(MEMBER_BEGIN "private const string " BINDINGS_NATIVE_NAME_FIELD " = \"");
- cs_file.push_back(itype.name);
- cs_file.push_back("\";\n");
+ output.push_back(MEMBER_BEGIN "private const string " BINDINGS_NATIVE_NAME_FIELD " = \"");
+ output.push_back(itype.name);
+ output.push_back("\";\n");
- cs_file.push_back(INDENT2 "internal static IntPtr " BINDINGS_PTR_FIELD " = ");
- cs_file.push_back(itype.api_type == ClassDB::API_EDITOR ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS);
- cs_file.push_back("." ICALL_PREFIX);
- cs_file.push_back(itype.name);
- cs_file.push_back(SINGLETON_ICALL_SUFFIX "();\n");
+ output.push_back(INDENT2 "internal static IntPtr " BINDINGS_PTR_FIELD " = ");
+ output.push_back(itype.api_type == ClassDB::API_EDITOR ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS);
+ output.push_back("." ICALL_PREFIX);
+ output.push_back(itype.name);
+ output.push_back(SINGLETON_ICALL_SUFFIX "();\n");
} else {
// Add member fields
- cs_file.push_back(MEMBER_BEGIN "private const string " BINDINGS_NATIVE_NAME_FIELD " = \"");
- cs_file.push_back(itype.name);
- cs_file.push_back("\";\n");
+ output.push_back(MEMBER_BEGIN "private const string " BINDINGS_NATIVE_NAME_FIELD " = \"");
+ output.push_back(itype.name);
+ output.push_back("\";\n");
// Only the base class stores the pointer to the native object
// This pointer is expected to be and must be of type Object*
if (!is_derived_type) {
- cs_file.push_back(MEMBER_BEGIN "private bool disposed = false;\n");
- cs_file.push_back(INDENT2 "internal IntPtr " BINDINGS_PTR_FIELD ";\n");
- cs_file.push_back(INDENT2 "internal bool " CS_FIELD_MEMORYOWN ";\n");
+ output.push_back(MEMBER_BEGIN "private bool disposed = false;\n");
+ output.push_back(INDENT2 "internal IntPtr " BINDINGS_PTR_FIELD ";\n");
+ output.push_back(INDENT2 "internal bool " CS_FIELD_MEMORYOWN ";\n");
}
// Add default constructor
if (itype.is_instantiable) {
- cs_file.push_back(MEMBER_BEGIN "public ");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back("() : this(");
- cs_file.push_back(itype.memory_own ? "true" : "false");
+ output.push_back(MEMBER_BEGIN "public ");
+ output.push_back(itype.proxy_name);
+ output.push_back("() : this(");
+ output.push_back(itype.memory_own ? "true" : "false");
// The default constructor may also be called by the engine when instancing existing native objects
// The engine will initialize the pointer field of the managed side before calling the constructor
// This is why we only allocate a new native object from the constructor if the pointer field is not set
- cs_file.push_back(")\n" OPEN_BLOCK_L2 "if (" BINDINGS_PTR_FIELD " == IntPtr.Zero)\n" INDENT4 BINDINGS_PTR_FIELD " = ");
- cs_file.push_back(itype.api_type == ClassDB::API_EDITOR ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS);
- cs_file.push_back("." + ctor_method);
- cs_file.push_back("(this);\n" CLOSE_BLOCK_L2);
+ output.push_back(")\n" OPEN_BLOCK_L2 "if (" BINDINGS_PTR_FIELD " == IntPtr.Zero)\n" INDENT4 BINDINGS_PTR_FIELD " = ");
+ output.push_back(itype.api_type == ClassDB::API_EDITOR ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS);
+ output.push_back("." + ctor_method);
+ output.push_back("(this);\n" CLOSE_BLOCK_L2);
} else {
// Hide the constructor
- cs_file.push_back(MEMBER_BEGIN "internal ");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back("() {}\n");
+ output.push_back(MEMBER_BEGIN "internal ");
+ output.push_back(itype.proxy_name);
+ output.push_back("() {}\n");
}
// Add.. em.. trick constructor. Sort of.
- cs_file.push_back(MEMBER_BEGIN "internal ");
- cs_file.push_back(itype.proxy_name);
+ output.push_back(MEMBER_BEGIN "internal ");
+ output.push_back(itype.proxy_name);
if (is_derived_type) {
- cs_file.push_back("(bool " CS_FIELD_MEMORYOWN ") : base(" CS_FIELD_MEMORYOWN ") {}\n");
+ output.push_back("(bool " CS_FIELD_MEMORYOWN ") : base(" CS_FIELD_MEMORYOWN ") {}\n");
} else {
- cs_file.push_back("(bool " CS_FIELD_MEMORYOWN ")\n" OPEN_BLOCK_L2
- "this." CS_FIELD_MEMORYOWN " = " CS_FIELD_MEMORYOWN ";\n" CLOSE_BLOCK_L2);
+ output.push_back("(bool " CS_FIELD_MEMORYOWN ")\n" OPEN_BLOCK_L2
+ "this." CS_FIELD_MEMORYOWN " = " CS_FIELD_MEMORYOWN ";\n" CLOSE_BLOCK_L2);
}
// Add methods
if (!is_derived_type) {
- cs_file.push_back(MEMBER_BEGIN "public IntPtr NativeInstance\n" OPEN_BLOCK_L2
- "get { return " BINDINGS_PTR_FIELD "; }\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "public IntPtr NativeInstance\n" OPEN_BLOCK_L2
+ "get { return " BINDINGS_PTR_FIELD "; }\n" CLOSE_BLOCK_L2);
- cs_file.push_back(MEMBER_BEGIN "internal static IntPtr " CS_SMETHOD_GETINSTANCE "(Object instance)\n" OPEN_BLOCK_L2
- "return instance == null ? IntPtr.Zero : instance." BINDINGS_PTR_FIELD ";\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "internal static IntPtr " CS_SMETHOD_GETINSTANCE "(Object instance)\n" OPEN_BLOCK_L2
+ "return instance == null ? IntPtr.Zero : instance." BINDINGS_PTR_FIELD ";\n" CLOSE_BLOCK_L2);
}
if (!is_derived_type) {
// Add destructor
- cs_file.push_back(MEMBER_BEGIN "~");
- cs_file.push_back(itype.proxy_name);
- cs_file.push_back("()\n" OPEN_BLOCK_L2 "Dispose(false);\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "~");
+ output.push_back(itype.proxy_name);
+ output.push_back("()\n" OPEN_BLOCK_L2 "Dispose(false);\n" CLOSE_BLOCK_L2);
// Add the Dispose from IDisposable
- cs_file.push_back(MEMBER_BEGIN "public void Dispose()\n" OPEN_BLOCK_L2 "Dispose(true);\n" INDENT3 "GC.SuppressFinalize(this);\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "public void Dispose()\n" OPEN_BLOCK_L2 "Dispose(true);\n" INDENT3 "GC.SuppressFinalize(this);\n" CLOSE_BLOCK_L2);
// Add the virtual Dispose
- cs_file.push_back(MEMBER_BEGIN "public virtual void Dispose(bool disposing)\n" OPEN_BLOCK_L2
- "if (disposed) return;\n" INDENT3
- "if (" BINDINGS_PTR_FIELD " != IntPtr.Zero)\n" OPEN_BLOCK_L3
- "if (" CS_FIELD_MEMORYOWN ")\n" OPEN_BLOCK_L4 CS_FIELD_MEMORYOWN
- " = false;\n" INDENT5 CS_CLASS_NATIVECALLS "." ICALL_OBJECT_DTOR
- "(" BINDINGS_PTR_FIELD ");\n" INDENT5 BINDINGS_PTR_FIELD
- " = IntPtr.Zero;\n" CLOSE_BLOCK_L4 CLOSE_BLOCK_L3 INDENT3
- "GC.SuppressFinalize(this);\n" INDENT3 "disposed = true;\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "public virtual void Dispose(bool disposing)\n" OPEN_BLOCK_L2
+ "if (disposed) return;\n" INDENT3
+ "if (" BINDINGS_PTR_FIELD " != IntPtr.Zero)\n" OPEN_BLOCK_L3
+ "if (" CS_FIELD_MEMORYOWN ")\n" OPEN_BLOCK_L4 CS_FIELD_MEMORYOWN
+ " = false;\n" INDENT5 CS_CLASS_NATIVECALLS "." ICALL_OBJECT_DTOR
+ "(" BINDINGS_PTR_FIELD ");\n" INDENT5 BINDINGS_PTR_FIELD
+ " = 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");
@@ -883,409 +776,387 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str
Map<String, TypeInterface>::Element *object_itype = obj_types.find("Object");
if (!object_itype) {
- ERR_PRINT("BUG: Array type interface not found!");
+ ERR_PRINT("BUG: Object type interface not found!");
return ERR_BUG;
}
- cs_file.push_back(MEMBER_BEGIN "public " CS_CLASS_SIGNALAWAITER " ToSignal(");
- cs_file.push_back(object_itype->get().cs_type);
- cs_file.push_back(" source, string signal)\n" OPEN_BLOCK_L2
- "return new " CS_CLASS_SIGNALAWAITER "(source, signal, this);\n" CLOSE_BLOCK_L2);
+ output.push_back(MEMBER_BEGIN "public " CS_CLASS_SIGNALAWAITER " ToSignal(");
+ output.push_back(object_itype->get().cs_type);
+ output.push_back(" source, string signal)\n" OPEN_BLOCK_L2
+ "return new " CS_CLASS_SIGNALAWAITER "(source, signal, this);\n" CLOSE_BLOCK_L2);
}
}
Map<String, String>::Element *extra_member = extra_members.find(itype.name);
if (extra_member)
- cs_file.push_back(extra_member->get());
+ output.push_back(extra_member->get());
+ int method_bind_count = 0;
for (const List<MethodInterface>::Element *E = itype.methods.front(); E; E = E->next()) {
const MethodInterface &imethod = E->get();
+ Error method_err = _generate_cs_method(itype, imethod, method_bind_count, output);
+ if (method_err != OK) {
+ ERR_EXPLAIN("Failed to generate method '" + imethod.name + "' for class '" + itype.name + "'");
+ ERR_FAIL_V(method_err);
+ }
+ }
- const TypeInterface *return_type = _get_type_by_name_or_placeholder(imethod.return_type);
+ if (itype.is_singleton) {
+ InternalCall singleton_icall = InternalCall(itype.api_type, ICALL_PREFIX + itype.name + SINGLETON_ICALL_SUFFIX, "IntPtr");
- String method_bind_field = "method_bind_" + itos(method_bind_count);
+ if (!find_icall_by_name(singleton_icall.name, custom_icalls))
+ custom_icalls.push_back(singleton_icall);
+ }
- String icall_params = method_bind_field + ", " + sformat(itype.cs_in, "this");
- String arguments_sig;
- String cs_in_statements;
+ if (itype.is_instantiable) {
+ InternalCall ctor_icall = InternalCall(itype.api_type, ctor_method, "IntPtr", itype.proxy_name + " obj");
- List<String> default_args_doc;
+ if (!find_icall_by_name(ctor_icall.name, custom_icalls))
+ custom_icalls.push_back(ctor_icall);
+ }
- // Retrieve information from the arguments
- for (const List<ArgumentInterface>::Element *F = imethod.arguments.front(); F; F = F->next()) {
- const ArgumentInterface &iarg = F->get();
- const TypeInterface *arg_type = _get_type_by_name_or_placeholder(iarg.type);
+ output.push_back(INDENT1 CLOSE_BLOCK CLOSE_BLOCK);
- // Add the current arguments to the signature
- // If the argument has a default value which is not a constant, we will make it Nullable
- {
- if (F != imethod.arguments.front())
- arguments_sig += ", ";
+ return _save_file(p_output_file, output);
+}
- if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
- arguments_sig += "Nullable<";
+Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInterface &p_itype, const DocData::PropertyDoc &p_prop_doc, List<String> &p_output) {
- arguments_sig += arg_type->cs_type;
+ const MethodInterface *setter = p_itype.find_method_by_name(p_prop_doc.setter);
- if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
- arguments_sig += "> ";
- else
- arguments_sig += " ";
+ // 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);
+ ERR_FAIL_NULL_V(base_match, ERR_BUG);
+ current_type = &base_match->get();
+ setter = current_type->find_method_by_name(p_prop_doc.setter);
+ }
- arguments_sig += iarg.name;
+ const MethodInterface *getter = p_itype.find_method_by_name(p_prop_doc.getter);
- if (iarg.default_argument.size()) {
- if (iarg.def_param_mode != ArgumentInterface::CONSTANT)
- arguments_sig += " = null";
- else
- arguments_sig += " = " + sformat(iarg.default_argument, arg_type->cs_type);
- }
- }
+ // 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);
+ ERR_FAIL_NULL_V(base_match, ERR_BUG);
+ current_type = &base_match->get();
+ getter = current_type->find_method_by_name(p_prop_doc.getter);
+ }
- icall_params += ", ";
+ ERR_FAIL_COND_V(!setter && !getter, ERR_BUG);
- if (iarg.default_argument.size() && iarg.def_param_mode != ArgumentInterface::CONSTANT) {
- // The default value of an argument must be constant. Otherwise we make it Nullable and do the following:
- // Type arg_in = arg.HasValue ? arg.Value : <non-const default value>;
- String arg_in = iarg.name;
- arg_in += "_in";
+ 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);
- cs_in_statements += arg_type->cs_type;
- cs_in_statements += " ";
- cs_in_statements += arg_in;
- cs_in_statements += " = ";
- cs_in_statements += iarg.name;
+ if (setter) {
+ int setter_argc = prop_index != -1 ? 2 : 1;
+ ERR_FAIL_COND_V(setter->arguments.size() != setter_argc, ERR_BUG);
+ }
- if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
- cs_in_statements += ".HasValue ? ";
- else
- cs_in_statements += " != null ? ";
+ if (getter) {
+ int getter_argc = prop_index != -1 ? 1 : 0;
+ ERR_FAIL_COND_V(getter->arguments.size() != getter_argc, ERR_BUG);
+ }
- cs_in_statements += iarg.name;
+ if (getter && setter) {
+ ERR_FAIL_COND_V(getter->return_type != setter->arguments.back()->get().type, ERR_BUG);
+ }
- if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
- cs_in_statements += ".Value : ";
- else
- cs_in_statements += " : ";
+ // Let's not trust PropertyDoc::type
+ String proptype_name = getter ? getter->return_type : setter->arguments.back()->get().type;
- String def_arg = sformat(iarg.default_argument, arg_type->cs_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);
+ }
- cs_in_statements += def_arg;
- cs_in_statements += ";\n" INDENT3;
+ ERR_FAIL_NULL_V(prop_itype, ERR_BUG);
- icall_params += arg_type->cs_in.empty() ? arg_in : sformat(arg_type->cs_in, arg_in);
+ String prop_proxy_name = escape_csharp_keyword(snake_to_pascal_case(p_prop_doc.name));
- default_args_doc.push_back(INDENT2 "/// <param name=\"" + iarg.name + "\">If the param is null, then the default value is " + def_arg + "</param>\n");
- } else {
- icall_params += arg_type->cs_in.empty() ? iarg.name : sformat(arg_type->cs_in, iarg.name);
- }
+ // Prevent property and enclosing type from sharing the same name
+ if (prop_proxy_name == p_itype.proxy_name) {
+ if (verbose_output) {
+ WARN_PRINTS("Name of property `" + prop_proxy_name + "` is ambiguous with the name of its class `" +
+ p_itype.proxy_name + "`. Renaming property to `" + prop_proxy_name + "_`");
}
- // Generate method
- {
- if (!imethod.is_virtual && !imethod.requires_object_call) {
- cs_file.push_back(MEMBER_BEGIN "private ");
- cs_file.push_back(itype.is_singleton ? "static IntPtr " : "IntPtr ");
- cs_file.push_back(method_bind_field + " = " CS_CLASS_NATIVECALLS "." ICALL_GET_METHODBIND "(" BINDINGS_NATIVE_NAME_FIELD ", \"");
- cs_file.push_back(imethod.name);
- cs_file.push_back("\");\n");
- }
+ prop_proxy_name += "_";
+ }
- if (imethod.method_doc && imethod.method_doc->description.size()) {
- cs_file.push_back(MEMBER_BEGIN "/// <summary>\n");
+ if (p_prop_doc.description.size()) {
+ p_output.push_back(MEMBER_BEGIN "/// <summary>\n");
- Vector<String> description_lines = imethod.method_doc->description.split("\n");
+ Vector<String> description_lines = p_prop_doc.description.split("\n");
- for (int i = 0; i < description_lines.size(); i++) {
- if (description_lines[i].size()) {
- cs_file.push_back(INDENT2 "/// ");
- cs_file.push_back(description_lines[i].strip_edges().xml_escape());
- cs_file.push_back("\n");
- }
- }
+ for (int i = 0; i < description_lines.size(); i++) {
+ if (description_lines[i].size()) {
+ p_output.push_back(INDENT2 "/// ");
+ p_output.push_back(description_lines[i].strip_edges().xml_escape());
+ p_output.push_back("\n");
+ }
+ }
- for (List<String>::Element *E = default_args_doc.front(); E; E = E->next()) {
- cs_file.push_back(E->get().xml_escape());
- }
+ p_output.push_back(INDENT2 "/// </summary>");
+ }
- cs_file.push_back(INDENT2 "/// </summary>");
- }
+ p_output.push_back(MEMBER_BEGIN "public ");
- if (!imethod.is_internal) {
- cs_file.push_back(MEMBER_BEGIN "[GodotMethod(\"");
- cs_file.push_back(imethod.name);
- cs_file.push_back("\")]");
- }
+ if (p_itype.is_singleton)
+ p_output.push_back("static ");
- cs_file.push_back(MEMBER_BEGIN);
- cs_file.push_back(imethod.is_internal ? "internal " : "public ");
+ p_output.push_back(prop_itype->cs_type);
+ p_output.push_back(" ");
+ p_output.push_back(prop_proxy_name.replace("/", "__"));
+ p_output.push_back("\n" INDENT2 OPEN_BLOCK);
- if (itype.is_singleton) {
- cs_file.push_back("static ");
- } else if (imethod.is_virtual) {
- cs_file.push_back("virtual ");
- }
+ if (getter) {
+ 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));
+ p_output.push_back(");\n" CLOSE_BLOCK_L3);
+ }
- cs_file.push_back(return_type->cs_type + " ");
- cs_file.push_back(imethod.proxy_name + "(");
- cs_file.push_back(arguments_sig + ")\n" OPEN_BLOCK_L2);
+ 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) + ", ");
+ p_output.push_back("value);\n" CLOSE_BLOCK_L3);
+ }
- if (imethod.is_virtual) {
- // Godot virtual method must be overridden, therefore we return a default value by default.
+ p_output.push_back(CLOSE_BLOCK_L2);
- if (return_type->name == "void") {
- cs_file.push_back("return;\n" CLOSE_BLOCK_L2);
- } else {
- cs_file.push_back("return default(");
- cs_file.push_back(return_type->cs_type);
- cs_file.push_back(");\n" CLOSE_BLOCK_L2);
- }
+ return OK;
+}
- continue;
- }
+Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterface &p_itype, const BindingsGenerator::MethodInterface &p_imethod, int &p_method_bind_count, List<String> &p_output) {
- if (imethod.requires_object_call) {
- // Fallback to Godot's object.Call(string, params)
+ const TypeInterface *return_type = _get_type_by_name_or_placeholder(p_imethod.return_type);
- cs_file.push_back(CS_METHOD_CALL "(\"");
- cs_file.push_back(imethod.name);
- cs_file.push_back("\"");
+ String method_bind_field = "method_bind_" + itos(p_method_bind_count);
- for (const List<ArgumentInterface>::Element *F = imethod.arguments.front(); F; F = F->next()) {
- cs_file.push_back(", ");
- cs_file.push_back(F->get().name);
- }
+ String icall_params = method_bind_field + ", " + sformat(p_itype.cs_in, "this");
+ String arguments_sig;
+ String cs_in_statements;
- cs_file.push_back(");\n" CLOSE_BLOCK_L2);
+ List<String> default_args_doc;
- continue;
- }
+ // Retrieve information from the arguments
+ for (const List<ArgumentInterface>::Element *F = p_imethod.arguments.front(); F; F = F->next()) {
+ const ArgumentInterface &iarg = F->get();
+ const TypeInterface *arg_type = _get_type_by_name_or_placeholder(iarg.type);
+
+ // Add the current arguments to the signature
+ // If the argument has a default value which is not a constant, we will make it Nullable
+ {
+ if (F != p_imethod.arguments.front())
+ arguments_sig += ", ";
- const Map<const MethodInterface *, const InternalCall *>::Element *match = method_icalls_map.find(&E->get());
- ERR_FAIL_NULL_V(match, ERR_BUG);
+ if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
+ arguments_sig += "Nullable<";
- const InternalCall *im_icall = match->value();
+ arguments_sig += arg_type->cs_type;
- String im_call = im_icall->editor_only ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS;
- im_call += "." + im_icall->name + "(" + icall_params + ");\n";
+ if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
+ arguments_sig += "> ";
+ else
+ arguments_sig += " ";
- if (imethod.arguments.size())
- cs_file.push_back(cs_in_statements);
+ arguments_sig += iarg.name;
- if (return_type->name == "void") {
- cs_file.push_back(im_call);
- } else if (return_type->cs_out.empty()) {
- cs_file.push_back("return " + im_call);
- } else {
- cs_file.push_back(return_type->im_type_out);
- cs_file.push_back(" " LOCAL_RET " = ");
- cs_file.push_back(im_call);
- cs_file.push_back(INDENT3);
- cs_file.push_back(sformat(return_type->cs_out, LOCAL_RET) + "\n");
+ if (iarg.default_argument.size()) {
+ if (iarg.def_param_mode != ArgumentInterface::CONSTANT)
+ arguments_sig += " = null";
+ else
+ arguments_sig += " = " + sformat(iarg.default_argument, arg_type->cs_type);
}
-
- cs_file.push_back(CLOSE_BLOCK_L2);
}
- method_bind_count++;
- }
+ icall_params += ", ";
- if (itype.is_singleton) {
- InternalCall singleton_icall = InternalCall(itype.api_type, ICALL_PREFIX + itype.name + SINGLETON_ICALL_SUFFIX, "IntPtr");
+ if (iarg.default_argument.size() && iarg.def_param_mode != ArgumentInterface::CONSTANT) {
+ // The default value of an argument must be constant. Otherwise we make it Nullable and do the following:
+ // Type arg_in = arg.HasValue ? arg.Value : <non-const default value>;
+ String arg_in = iarg.name;
+ arg_in += "_in";
- if (!find_icall_by_name(singleton_icall.name, custom_icalls))
- custom_icalls.push_back(singleton_icall);
- }
+ cs_in_statements += arg_type->cs_type;
+ cs_in_statements += " ";
+ cs_in_statements += arg_in;
+ cs_in_statements += " = ";
+ cs_in_statements += iarg.name;
- if (itype.is_instantiable) {
- InternalCall ctor_icall = InternalCall(itype.api_type, ctor_method, "IntPtr", itype.proxy_name + " obj");
+ if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
+ cs_in_statements += ".HasValue ? ";
+ else
+ cs_in_statements += " != null ? ";
- if (!find_icall_by_name(ctor_icall.name, custom_icalls))
- custom_icalls.push_back(ctor_icall);
- }
+ cs_in_statements += iarg.name;
- cs_file.push_back(INDENT1 CLOSE_BLOCK CLOSE_BLOCK);
+ if (iarg.def_param_mode == ArgumentInterface::NULLABLE_VAL)
+ cs_in_statements += ".Value : ";
+ else
+ cs_in_statements += " : ";
- return _save_file(p_output_file, cs_file);
-}
+ String def_arg = sformat(iarg.default_argument, arg_type->cs_type);
-Error BindingsGenerator::generate_glue(const String &p_output_dir) {
+ cs_in_statements += def_arg;
+ cs_in_statements += ";\n" INDENT3;
- verbose_output = true;
+ icall_params += arg_type->cs_in.empty() ? arg_in : sformat(arg_type->cs_in, arg_in);
- bool dir_exists = DirAccess::exists(p_output_dir);
- ERR_EXPLAIN("The output directory does not exist.");
- ERR_FAIL_COND_V(!dir_exists, ERR_FILE_BAD_PATH);
+ default_args_doc.push_back(INDENT2 "/// <param name=\"" + iarg.name + "\">If the param is null, then the default value is " + def_arg + "</param>\n");
+ } else {
+ icall_params += arg_type->cs_in.empty() ? iarg.name : sformat(arg_type->cs_in, iarg.name);
+ }
+ }
- List<String> cpp_file;
+ // Generate method
+ {
+ if (!p_imethod.is_virtual && !p_imethod.requires_object_call) {
+ p_output.push_back(MEMBER_BEGIN "private ");
+ p_output.push_back(p_itype.is_singleton ? "static IntPtr " : "IntPtr ");
+ p_output.push_back(method_bind_field + " = " CS_CLASS_NATIVECALLS "." ICALL_GET_METHODBIND "(" BINDINGS_NATIVE_NAME_FIELD ", \"");
+ p_output.push_back(p_imethod.name);
+ p_output.push_back("\");\n");
+ }
- cpp_file.push_back("#include \"" GLUE_HEADER_FILE "\"\n"
- "\n");
+ if (p_imethod.method_doc && p_imethod.method_doc->description.size()) {
+ p_output.push_back(MEMBER_BEGIN "/// <summary>\n");
- List<const InternalCall *> generated_icall_funcs;
+ Vector<String> description_lines = p_imethod.method_doc->description.split("\n");
- for (Map<String, TypeInterface>::Element *type_elem = obj_types.front(); type_elem; type_elem = type_elem->next()) {
- const TypeInterface &itype = type_elem->get();
+ for (int i = 0; i < description_lines.size(); i++) {
+ if (description_lines[i].size()) {
+ p_output.push_back(INDENT2 "/// ");
+ p_output.push_back(description_lines[i].strip_edges().xml_escape());
+ p_output.push_back("\n");
+ }
+ }
- List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls;
+ for (List<String>::Element *E = default_args_doc.front(); E; E = E->next()) {
+ p_output.push_back(E->get().xml_escape());
+ }
- OS::get_singleton()->print(String("Generating " + itype.name + "...\n").utf8());
+ p_output.push_back(INDENT2 "/// </summary>");
+ }
- String ctor_method(ICALL_PREFIX + itype.proxy_name + "_Ctor");
+ if (!p_imethod.is_internal) {
+ p_output.push_back(MEMBER_BEGIN "[GodotMethod(\"");
+ p_output.push_back(p_imethod.name);
+ p_output.push_back("\")]");
+ }
- for (const List<MethodInterface>::Element *E = itype.methods.front(); E; E = E->next()) {
- const MethodInterface &imethod = E->get();
+ p_output.push_back(MEMBER_BEGIN);
+ p_output.push_back(p_imethod.is_internal ? "internal " : "public ");
- if (imethod.is_virtual)
- continue;
+ if (p_itype.is_singleton) {
+ p_output.push_back("static ");
+ } else if (p_imethod.is_virtual) {
+ p_output.push_back("virtual ");
+ }
- bool ret_void = imethod.return_type == "void";
+ p_output.push_back(return_type->cs_type + " ");
+ p_output.push_back(p_imethod.proxy_name + "(");
+ p_output.push_back(arguments_sig + ")\n" OPEN_BLOCK_L2);
- const TypeInterface *return_type = _get_type_by_name_or_placeholder(imethod.return_type);
+ if (p_imethod.is_virtual) {
+ // Godot virtual method must be overridden, therefore we return a default value by default.
- String argc_str = itos(imethod.arguments.size());
+ if (return_type->name == "void") {
+ p_output.push_back("return;\n" CLOSE_BLOCK_L2);
+ } else {
+ p_output.push_back("return default(");
+ p_output.push_back(return_type->cs_type);
+ p_output.push_back(");\n" CLOSE_BLOCK_L2);
+ }
- String c_func_sig = "MethodBind* " CS_PARAM_METHODBIND ", " + itype.c_type_in + " " CS_PARAM_INSTANCE;
- String c_in_statements;
- String c_args_var_content;
+ return OK; // Won't increment method bind count
+ }
- // Get arguments information
- int i = 0;
- for (const List<ArgumentInterface>::Element *F = imethod.arguments.front(); F; F = F->next()) {
- const ArgumentInterface &iarg = F->get();
- const TypeInterface *arg_type = _get_type_by_name_or_placeholder(iarg.type);
+ if (p_imethod.requires_object_call) {
+ // Fallback to Godot's object.Call(string, params)
- String c_param_name = "arg" + itos(i + 1);
+ p_output.push_back(CS_METHOD_CALL "(\"");
+ p_output.push_back(p_imethod.name);
+ p_output.push_back("\"");
- if (imethod.is_vararg) {
- if (i < imethod.arguments.size() - 1) {
- c_in_statements += sformat(arg_type->c_in.size() ? arg_type->c_in : TypeInterface::DEFAULT_VARARG_C_IN, "Variant", c_param_name);
- c_in_statements += "\t" C_LOCAL_PTRCALL_ARGS ".set(0, ";
- c_in_statements += sformat("&%s_in", c_param_name);
- c_in_statements += ");\n";
- }
- } else {
- if (i > 0)
- c_args_var_content += ", ";
- if (arg_type->c_in.size())
- c_in_statements += sformat(arg_type->c_in, arg_type->c_type, c_param_name);
- c_args_var_content += sformat(arg_type->c_arg_in, c_param_name);
- }
+ for (const List<ArgumentInterface>::Element *F = p_imethod.arguments.front(); F; F = F->next()) {
+ p_output.push_back(", ");
+ p_output.push_back(F->get().name);
+ }
- c_func_sig += ", ";
- c_func_sig += arg_type->c_type_in;
- c_func_sig += " ";
- c_func_sig += c_param_name;
+ p_output.push_back(");\n" CLOSE_BLOCK_L2);
- i++;
- }
+ return OK; // Won't increment method bind count
+ }
- const Map<const MethodInterface *, const InternalCall *>::Element *match = method_icalls_map.find(&E->get());
- ERR_FAIL_NULL_V(match, ERR_BUG);
+ const Map<const MethodInterface *, const InternalCall *>::Element *match = method_icalls_map.find(&p_imethod);
+ ERR_FAIL_NULL_V(match, ERR_BUG);
- const InternalCall *im_icall = match->value();
- String icall_method = im_icall->name;
+ const InternalCall *im_icall = match->value();
- if (!generated_icall_funcs.find(im_icall)) {
- generated_icall_funcs.push_back(im_icall);
+ String im_call = im_icall->editor_only ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS;
+ im_call += "." + im_icall->name + "(" + icall_params + ");\n";
- if (im_icall->editor_only)
- cpp_file.push_back("#ifdef TOOLS_ENABLED\n");
+ if (p_imethod.arguments.size())
+ p_output.push_back(cs_in_statements);
- // Generate icall function
+ if (return_type->name == "void") {
+ p_output.push_back(im_call);
+ } else if (return_type->cs_out.empty()) {
+ p_output.push_back("return " + im_call);
+ } else {
+ p_output.push_back(return_type->im_type_out);
+ p_output.push_back(" " LOCAL_RET " = ");
+ p_output.push_back(im_call);
+ p_output.push_back(INDENT3);
+ p_output.push_back(sformat(return_type->cs_out, LOCAL_RET) + "\n");
+ }
- cpp_file.push_back(ret_void ? "void " : return_type->c_type_out + " ");
- cpp_file.push_back(icall_method);
- cpp_file.push_back("(");
- cpp_file.push_back(c_func_sig);
- cpp_file.push_back(") " OPEN_BLOCK);
+ p_output.push_back(CLOSE_BLOCK_L2);
+ }
- String fail_ret = ret_void ? "" : ", " + (return_type->c_type_out.ends_with("*") ? "NULL" : return_type->c_type_out + "()");
+ p_method_bind_count++;
+ return OK;
+}
- if (!ret_void) {
- String ptrcall_return_type;
- String initialization;
+Error BindingsGenerator::generate_glue(const String &p_output_dir) {
- if (return_type->is_object_type) {
- ptrcall_return_type = return_type->is_reference ? "Ref<Reference>" : return_type->c_type;
- initialization = return_type->is_reference ? "" : " = NULL";
- } else {
- ptrcall_return_type = return_type->c_type;
- }
+ verbose_output = true;
- cpp_file.push_back("\t" + ptrcall_return_type);
- cpp_file.push_back(" " LOCAL_RET);
- cpp_file.push_back(initialization + ";\n");
- cpp_file.push_back("\tERR_FAIL_NULL_V(" CS_PARAM_INSTANCE);
- cpp_file.push_back(fail_ret);
- cpp_file.push_back(");\n");
- } else {
- cpp_file.push_back("\tERR_FAIL_NULL(" CS_PARAM_INSTANCE ");\n");
- }
+ bool dir_exists = DirAccess::exists(p_output_dir);
+ ERR_EXPLAIN("The output directory does not exist.");
+ ERR_FAIL_COND_V(!dir_exists, ERR_FILE_BAD_PATH);
- if (imethod.arguments.size()) {
- if (imethod.is_vararg) {
- String err_fail_macro = ret_void ? "ERR_FAIL_COND" : "ERR_FAIL_COND_V";
- String vararg_arg = "arg" + argc_str;
- String real_argc_str = itos(imethod.arguments.size() - 1); // Arguments count without vararg
-
- cpp_file.push_back("\tVector<Variant> varargs;\n"
- "\tint vararg_length = mono_array_length(");
- cpp_file.push_back(vararg_arg);
- cpp_file.push_back(");\n\tint total_length = ");
- cpp_file.push_back(real_argc_str);
- cpp_file.push_back(" + vararg_length;\n\t");
- cpp_file.push_back(err_fail_macro);
- cpp_file.push_back("(varargs.resize(vararg_length) != OK");
- cpp_file.push_back(fail_ret);
- cpp_file.push_back(");\n\tVector<Variant*> " C_LOCAL_PTRCALL_ARGS ";\n\t");
- cpp_file.push_back(err_fail_macro);
- cpp_file.push_back("(call_args.resize(total_length) != OK");
- cpp_file.push_back(fail_ret);
- cpp_file.push_back(");\n");
- cpp_file.push_back(c_in_statements);
- cpp_file.push_back("\tfor (int i = 0; i < vararg_length; i++) " OPEN_BLOCK
- "\t\tMonoObject* elem = mono_array_get(");
- cpp_file.push_back(vararg_arg);
- cpp_file.push_back(", MonoObject*, i);\n"
- "\t\tvarargs.set(i, GDMonoMarshal::mono_object_to_variant(elem));\n"
- "\t\t" C_LOCAL_PTRCALL_ARGS ".set(");
- cpp_file.push_back(real_argc_str);
- cpp_file.push_back(" + i, &varargs[i]);\n\t" CLOSE_BLOCK);
- } else {
- cpp_file.push_back(c_in_statements);
- cpp_file.push_back("\tconst void* " C_LOCAL_PTRCALL_ARGS "[");
- cpp_file.push_back(argc_str + "] = { ");
- cpp_file.push_back(c_args_var_content + " };\n");
- }
- }
+ List<String> output;
- if (imethod.is_vararg) {
- cpp_file.push_back("\tVariant::CallError vcall_error;\n\t");
+ output.push_back("#include \"" GLUE_HEADER_FILE "\"\n"
+ "\n");
- if (!ret_void)
- cpp_file.push_back(LOCAL_RET " = ");
+ generated_icall_funcs.clear();
- cpp_file.push_back(CS_PARAM_METHODBIND "->call(" CS_PARAM_INSTANCE ", ");
- cpp_file.push_back(imethod.arguments.size() ? "(const Variant**)" C_LOCAL_PTRCALL_ARGS ".ptr()" : "NULL");
- cpp_file.push_back(", total_length, vcall_error);\n");
- } else {
- cpp_file.push_back("\t" CS_PARAM_METHODBIND "->ptrcall(" CS_PARAM_INSTANCE ", ");
- cpp_file.push_back(imethod.arguments.size() ? C_LOCAL_PTRCALL_ARGS ", " : "NULL, ");
- cpp_file.push_back(!ret_void ? "&" LOCAL_RET ");\n" : "NULL);\n");
- }
+ for (Map<String, TypeInterface>::Element *type_elem = obj_types.front(); type_elem; type_elem = type_elem->next()) {
+ const TypeInterface &itype = type_elem->get();
- if (!ret_void) {
- if (return_type->c_out.empty())
- cpp_file.push_back("\treturn " LOCAL_RET ";\n");
- else
- cpp_file.push_back(sformat(return_type->c_out, return_type->c_type_out, LOCAL_RET, return_type->name));
- }
+ List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls;
+
+ OS::get_singleton()->print(String("Generating " + itype.name + "...\n").utf8());
- cpp_file.push_back(CLOSE_BLOCK "\n");
+ String ctor_method(ICALL_PREFIX + itype.proxy_name + "_Ctor");
- if (im_icall->editor_only)
- cpp_file.push_back("#endif // TOOLS_ENABLED\n");
+ for (const List<MethodInterface>::Element *E = itype.methods.front(); E; E = E->next()) {
+ const MethodInterface &imethod = E->get();
+ Error method_err = _generate_glue_method(itype, imethod, output);
+ if (method_err != OK) {
+ ERR_EXPLAIN("Failed to generate method '" + imethod.name + "' for class '" + itype.name + "'");
+ ERR_FAIL_V(method_err);
}
}
@@ -1296,11 +1167,11 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) {
if (!find_icall_by_name(singleton_icall.name, custom_icalls))
custom_icalls.push_back(singleton_icall);
- cpp_file.push_back("Object* ");
- cpp_file.push_back(singleton_icall_name);
- cpp_file.push_back("() " OPEN_BLOCK "\treturn ProjectSettings::get_singleton()->get_singleton_object(\"");
- cpp_file.push_back(itype.proxy_name);
- cpp_file.push_back("\");\n" CLOSE_BLOCK "\n");
+ output.push_back("Object* ");
+ output.push_back(singleton_icall_name);
+ output.push_back("() " OPEN_BLOCK "\treturn ProjectSettings::get_singleton()->get_singleton_object(\"");
+ output.push_back(itype.proxy_name);
+ output.push_back("\");\n" CLOSE_BLOCK "\n");
}
if (itype.is_instantiable) {
@@ -1309,36 +1180,36 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) {
if (!find_icall_by_name(ctor_icall.name, custom_icalls))
custom_icalls.push_back(ctor_icall);
- cpp_file.push_back("Object* ");
- cpp_file.push_back(ctor_method);
- cpp_file.push_back("(MonoObject* obj) " OPEN_BLOCK
- "\t" C_MACRO_OBJECT_CONSTRUCT "(instance, \"");
- cpp_file.push_back(itype.name);
- cpp_file.push_back("\");\n"
- "\t" C_METHOD_TIE_MANAGED_TO_UNMANAGED "(obj, instance);\n"
- "\treturn instance;\n" CLOSE_BLOCK "\n");
+ output.push_back("Object* ");
+ output.push_back(ctor_method);
+ output.push_back("(MonoObject* obj) " OPEN_BLOCK
+ "\t" C_MACRO_OBJECT_CONSTRUCT "(instance, \"");
+ output.push_back(itype.name);
+ output.push_back("\");\n"
+ "\t" C_METHOD_TIE_MANAGED_TO_UNMANAGED "(obj, instance);\n"
+ "\treturn instance;\n" CLOSE_BLOCK "\n");
}
}
- cpp_file.push_back("namespace GodotSharpBindings\n" OPEN_BLOCK);
- cpp_file.push_back("uint64_t get_core_api_hash() { return ");
- cpp_file.push_back(itos(GDMono::get_singleton()->get_api_core_hash()) + "; }\n");
- cpp_file.push_back("#ifdef TOOLS_ENABLED\n"
- "uint64_t get_editor_api_hash() { return ");
- cpp_file.push_back(itos(GDMono::get_singleton()->get_api_editor_hash()) +
- "; }\n#endif // TOOLS_ENABLED\n");
- cpp_file.push_back("void register_generated_icalls() " OPEN_BLOCK);
-
-#define ADD_INTERNAL_CALL_REGISTRATION(m_icall) \
- { \
- cpp_file.push_back("\tmono_add_internal_call("); \
- cpp_file.push_back("\"" BINDINGS_NAMESPACE "."); \
- cpp_file.push_back(m_icall.editor_only ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS); \
- cpp_file.push_back("::"); \
- cpp_file.push_back(m_icall.name); \
- cpp_file.push_back("\", (void*)"); \
- cpp_file.push_back(m_icall.name); \
- cpp_file.push_back(");\n"); \
+ output.push_back("namespace GodotSharpBindings\n" OPEN_BLOCK);
+ output.push_back("uint64_t get_core_api_hash() { return ");
+ output.push_back(itos(GDMono::get_singleton()->get_api_core_hash()) + "; }\n");
+ output.push_back("#ifdef TOOLS_ENABLED\n"
+ "uint64_t get_editor_api_hash() { return ");
+ output.push_back(itos(GDMono::get_singleton()->get_api_editor_hash()) +
+ "; }\n#endif // TOOLS_ENABLED\n");
+ output.push_back("void register_generated_icalls() " OPEN_BLOCK);
+
+#define ADD_INTERNAL_CALL_REGISTRATION(m_icall) \
+ { \
+ output.push_back("\tmono_add_internal_call("); \
+ output.push_back("\"" BINDINGS_NAMESPACE "."); \
+ output.push_back(m_icall.editor_only ? CS_CLASS_NATIVECALLS_EDITOR : CS_CLASS_NATIVECALLS); \
+ output.push_back("::"); \
+ output.push_back(m_icall.name); \
+ output.push_back("\", (void*)"); \
+ output.push_back(m_icall.name); \
+ output.push_back(");\n"); \
}
bool tools_sequence = false;
@@ -1347,11 +1218,11 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) {
if (tools_sequence) {
if (!E->get().editor_only) {
tools_sequence = false;
- cpp_file.push_back("#endif\n");
+ output.push_back("#endif\n");
}
} else {
if (E->get().editor_only) {
- cpp_file.push_back("#ifdef TOOLS_ENABLED\n");
+ output.push_back("#ifdef TOOLS_ENABLED\n");
tools_sequence = true;
}
}
@@ -1361,24 +1232,23 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) {
if (tools_sequence) {
tools_sequence = false;
- cpp_file.push_back("#endif\n");
+ output.push_back("#endif\n");
}
- cpp_file.push_back("#ifdef TOOLS_ENABLED\n");
+ output.push_back("#ifdef TOOLS_ENABLED\n");
for (const List<InternalCall>::Element *E = editor_custom_icalls.front(); E; E = E->next())
ADD_INTERNAL_CALL_REGISTRATION(E->get());
- cpp_file.push_back("#endif // TOOLS_ENABLED\n");
+ output.push_back("#endif // TOOLS_ENABLED\n");
for (const List<InternalCall>::Element *E = method_icalls.front(); E; E = E->next()) {
-
if (tools_sequence) {
if (!E->get().editor_only) {
tools_sequence = false;
- cpp_file.push_back("#endif\n");
+ output.push_back("#endif\n");
}
} else {
if (E->get().editor_only) {
- cpp_file.push_back("#ifdef TOOLS_ENABLED\n");
+ output.push_back("#ifdef TOOLS_ENABLED\n");
tools_sequence = true;
}
}
@@ -1388,18 +1258,18 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) {
if (tools_sequence) {
tools_sequence = false;
- cpp_file.push_back("#endif\n");
+ output.push_back("#endif\n");
}
#undef ADD_INTERNAL_CALL_REGISTRATION
- cpp_file.push_back(CLOSE_BLOCK "}\n");
+ output.push_back(CLOSE_BLOCK "}\n");
- Error save_err = _save_file(path_join(p_output_dir, "mono_glue.gen.cpp"), cpp_file);
+ Error save_err = _save_file(path_join(p_output_dir, "mono_glue.gen.cpp"), output);
if (save_err != OK)
return save_err;
- OS::get_singleton()->print("Mono glue generated successfully!\n");
+ OS::get_singleton()->print("Mono glue generated successfully\n");
return OK;
}
@@ -1420,6 +1290,163 @@ Error BindingsGenerator::_save_file(const String &p_path, const List<String> &p_
return OK;
}
+Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInterface &p_itype, const BindingsGenerator::MethodInterface &p_imethod, List<String> &p_output) {
+
+ if (p_imethod.is_virtual)
+ return OK; // Ignore
+
+ bool ret_void = p_imethod.return_type == "void";
+
+ const TypeInterface *return_type = _get_type_by_name_or_placeholder(p_imethod.return_type);
+
+ String argc_str = itos(p_imethod.arguments.size());
+
+ String c_func_sig = "MethodBind* " CS_PARAM_METHODBIND ", " + p_itype.c_type_in + " " CS_PARAM_INSTANCE;
+ String c_in_statements;
+ String c_args_var_content;
+
+ // Get arguments information
+ int i = 0;
+ for (const List<ArgumentInterface>::Element *F = p_imethod.arguments.front(); F; F = F->next()) {
+ const ArgumentInterface &iarg = F->get();
+ const TypeInterface *arg_type = _get_type_by_name_or_placeholder(iarg.type);
+
+ String c_param_name = "arg" + itos(i + 1);
+
+ if (p_imethod.is_vararg) {
+ if (i < p_imethod.arguments.size() - 1) {
+ c_in_statements += sformat(arg_type->c_in.size() ? arg_type->c_in : TypeInterface::DEFAULT_VARARG_C_IN, "Variant", c_param_name);
+ c_in_statements += "\t" C_LOCAL_PTRCALL_ARGS ".set(0, ";
+ c_in_statements += sformat("&%s_in", c_param_name);
+ c_in_statements += ");\n";
+ }
+ } else {
+ if (i > 0)
+ c_args_var_content += ", ";
+ if (arg_type->c_in.size())
+ c_in_statements += sformat(arg_type->c_in, arg_type->c_type, c_param_name);
+ c_args_var_content += sformat(arg_type->c_arg_in, c_param_name);
+ }
+
+ c_func_sig += ", ";
+ c_func_sig += arg_type->c_type_in;
+ c_func_sig += " ";
+ c_func_sig += c_param_name;
+
+ i++;
+ }
+
+ const Map<const MethodInterface *, const InternalCall *>::Element *match = method_icalls_map.find(&p_imethod);
+ ERR_FAIL_NULL_V(match, ERR_BUG);
+
+ const InternalCall *im_icall = match->value();
+ String icall_method = im_icall->name;
+
+ if (!generated_icall_funcs.find(im_icall)) {
+ generated_icall_funcs.push_back(im_icall);
+
+ if (im_icall->editor_only)
+ p_output.push_back("#ifdef TOOLS_ENABLED\n");
+
+ // Generate icall function
+
+ p_output.push_back(ret_void ? "void " : return_type->c_type_out + " ");
+ p_output.push_back(icall_method);
+ p_output.push_back("(");
+ p_output.push_back(c_func_sig);
+ p_output.push_back(") " OPEN_BLOCK);
+
+ String fail_ret = ret_void ? "" : ", " + (return_type->c_type_out.ends_with("*") ? "NULL" : return_type->c_type_out + "()");
+
+ if (!ret_void) {
+ String ptrcall_return_type;
+ String initialization;
+
+ if (return_type->is_object_type) {
+ ptrcall_return_type = return_type->is_reference ? "Ref<Reference>" : return_type->c_type;
+ initialization = return_type->is_reference ? "" : " = NULL";
+ } else {
+ ptrcall_return_type = return_type->c_type;
+ }
+
+ p_output.push_back("\t" + ptrcall_return_type);
+ p_output.push_back(" " LOCAL_RET);
+ p_output.push_back(initialization + ";\n");
+ p_output.push_back("\tERR_FAIL_NULL_V(" CS_PARAM_INSTANCE);
+ p_output.push_back(fail_ret);
+ p_output.push_back(");\n");
+ } else {
+ p_output.push_back("\tERR_FAIL_NULL(" CS_PARAM_INSTANCE ");\n");
+ }
+
+ if (p_imethod.arguments.size()) {
+ if (p_imethod.is_vararg) {
+ String err_fail_macro = ret_void ? "ERR_FAIL_COND" : "ERR_FAIL_COND_V";
+ String vararg_arg = "arg" + argc_str;
+ String real_argc_str = itos(p_imethod.arguments.size() - 1); // Arguments count without vararg
+
+ p_output.push_back("\tVector<Variant> varargs;\n"
+ "\tint vararg_length = mono_array_length(");
+ p_output.push_back(vararg_arg);
+ p_output.push_back(");\n\tint total_length = ");
+ p_output.push_back(real_argc_str);
+ p_output.push_back(" + vararg_length;\n\t");
+ p_output.push_back(err_fail_macro);
+ p_output.push_back("(varargs.resize(vararg_length) != OK");
+ p_output.push_back(fail_ret);
+ p_output.push_back(");\n\tVector<Variant*> " C_LOCAL_PTRCALL_ARGS ";\n\t");
+ p_output.push_back(err_fail_macro);
+ p_output.push_back("(call_args.resize(total_length) != OK");
+ p_output.push_back(fail_ret);
+ p_output.push_back(");\n");
+ p_output.push_back(c_in_statements);
+ p_output.push_back("\tfor (int i = 0; i < vararg_length; i++) " OPEN_BLOCK
+ "\t\tMonoObject* elem = mono_array_get(");
+ p_output.push_back(vararg_arg);
+ p_output.push_back(", MonoObject*, i);\n"
+ "\t\tvarargs.set(i, GDMonoMarshal::mono_object_to_variant(elem));\n"
+ "\t\t" C_LOCAL_PTRCALL_ARGS ".set(");
+ p_output.push_back(real_argc_str);
+ p_output.push_back(" + i, &varargs[i]);\n\t" CLOSE_BLOCK);
+ } else {
+ p_output.push_back(c_in_statements);
+ p_output.push_back("\tconst void* " C_LOCAL_PTRCALL_ARGS "[");
+ p_output.push_back(argc_str + "] = { ");
+ p_output.push_back(c_args_var_content + " };\n");
+ }
+ }
+
+ if (p_imethod.is_vararg) {
+ p_output.push_back("\tVariant::CallError vcall_error;\n\t");
+
+ if (!ret_void)
+ p_output.push_back(LOCAL_RET " = ");
+
+ p_output.push_back(CS_PARAM_METHODBIND "->call(" CS_PARAM_INSTANCE ", ");
+ p_output.push_back(p_imethod.arguments.size() ? "(const Variant**)" C_LOCAL_PTRCALL_ARGS ".ptr()" : "NULL");
+ p_output.push_back(", total_length, vcall_error);\n");
+ } else {
+ p_output.push_back("\t" CS_PARAM_METHODBIND "->ptrcall(" CS_PARAM_INSTANCE ", ");
+ p_output.push_back(p_imethod.arguments.size() ? C_LOCAL_PTRCALL_ARGS ", " : "NULL, ");
+ p_output.push_back(!ret_void ? "&" LOCAL_RET ");\n" : "NULL);\n");
+ }
+
+ if (!ret_void) {
+ if (return_type->c_out.empty())
+ p_output.push_back("\treturn " LOCAL_RET ";\n");
+ else
+ p_output.push_back(sformat(return_type->c_out, return_type->c_type_out, LOCAL_RET, return_type->name));
+ }
+
+ p_output.push_back(CLOSE_BLOCK "\n");
+
+ if (im_icall->editor_only)
+ p_output.push_back("#endif // TOOLS_ENABLED\n");
+ }
+
+ return OK;
+}
+
const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_null(const String &p_name) {
const Map<String, TypeInterface>::Element *match = builtin_types.find(p_name);
@@ -2077,7 +2104,8 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args)
const List<String>::Element *path_elem = elem->next();
if (path_elem) {
- get_singleton().generate_glue(path_elem->get());
+ if (get_singleton().generate_glue(path_elem->get()) != OK)
+ ERR_PRINT("Mono glue generation failed");
elem = elem->next();
} else {
ERR_PRINTS("--generate-mono-glue: No output directory specified");
@@ -2090,7 +2118,8 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args)
const List<String>::Element *path_elem = elem->next();
if (path_elem) {
- get_singleton().generate_cs_core_project(path_elem->get());
+ if (get_singleton().generate_cs_core_project(path_elem->get()) != OK)
+ ERR_PRINT("Generation of solution and C# project for the Core API failed");
elem = elem->next();
} else {
ERR_PRINTS(cs_core_api_option + ": No output directory specified");
@@ -2104,7 +2133,8 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args)
if (path_elem) {
if (path_elem->next()) {
- get_singleton().generate_cs_editor_project(path_elem->get(), path_elem->next()->get());
+ if (get_singleton().generate_cs_editor_project(path_elem->get(), path_elem->next()->get()) != OK)
+ ERR_PRINT("Generation of solution and C# project for the Editor API failed");
elem = path_elem->next();
} else {
ERR_PRINTS(cs_editor_api_option + ": No hint path for the Core API dll specified");
diff --git a/modules/mono/editor/bindings_generator.h b/modules/mono/editor/bindings_generator.h
index 437a566556..dfa3aa9911 100644
--- a/modules/mono/editor/bindings_generator.h
+++ b/modules/mono/editor/bindings_generator.h
@@ -368,6 +368,8 @@ class BindingsGenerator {
List<InternalCall> method_icalls;
Map<const MethodInterface *, const InternalCall *> method_icalls_map;
+ List<const InternalCall *> generated_icall_funcs;
+
List<InternalCall> core_custom_icalls;
List<InternalCall> editor_custom_icalls;
@@ -404,6 +406,11 @@ class BindingsGenerator {
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_method(const TypeInterface &p_itype, const MethodInterface &p_imethod, int &p_method_bind_count, 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);
BindingsGenerator();
diff --git a/modules/mono/editor/godotsharp_builds.cpp b/modules/mono/editor/godotsharp_builds.cpp
index d3808769fb..83d2bb1471 100644
--- a/modules/mono/editor/godotsharp_builds.cpp
+++ b/modules/mono/editor/godotsharp_builds.cpp
@@ -32,6 +32,7 @@
#include "main/main.h"
#include "../godotsharp_dirs.h"
+#include "../mono_gd/gd_mono.h"
#include "../mono_gd/gd_mono_class.h"
#include "../mono_gd/gd_mono_marshal.h"
#include "../utils/path_utils.h"
@@ -71,7 +72,7 @@ String _find_build_engine_on_unix(const String &p_name) {
}
#endif
-MonoString *godot_icall_BuildInstance_get_MSBuildPath() {
+void godot_icall_BuildInstance_get_MSBuildInfo(MonoString **r_msbuild_path, MonoString **r_framework_path) {
GodotSharpBuilds::BuildTool build_tool = GodotSharpBuilds::BuildTool(int(EditorSettings::get_singleton()->get("mono/builds/build_tool")));
@@ -84,11 +85,23 @@ MonoString *godot_icall_BuildInstance_get_MSBuildPath() {
if (!msbuild_tools_path.ends_with("\\"))
msbuild_tools_path += "\\";
- return GDMonoMarshal::mono_string_from_godot(msbuild_tools_path + "MSBuild.exe");
+ // FrameworkPathOverride
+ const MonoRegInfo &mono_reg_info = GDMono::get_singleton()->get_mono_reg_info();
+ if (mono_reg_info.assembly_dir.length()) {
+ *r_msbuild_path = GDMonoMarshal::mono_string_from_godot(msbuild_tools_path + "MSBuild.exe");
+
+ String framework_path = path_join(mono_reg_info.assembly_dir, "mono", "4.5");
+ *r_framework_path = GDMonoMarshal::mono_string_from_godot(framework_path);
+ } else {
+ ERR_PRINT("Cannot find Mono's assemblies directory in the registry");
+ }
+
+ return;
}
- OS::get_singleton()->print("Cannot find System's MSBuild. Trying with Mono's...\n");
- }
+ if (OS::get_singleton()->is_stdout_verbose())
+ OS::get_singleton()->print("Cannot find System's MSBuild. Trying with Mono's...\n");
+ } // fall through
case GodotSharpBuilds::MSBUILD_MONO: {
String msbuild_path = GDMono::get_singleton()->get_mono_reg_info().bin_dir.plus_file("msbuild.bat");
@@ -96,17 +109,10 @@ MonoString *godot_icall_BuildInstance_get_MSBuildPath() {
WARN_PRINTS("Cannot find msbuild ('mono/builds/build_tool'). Tried with path: " + msbuild_path);
}
- return GDMonoMarshal::mono_string_from_godot(msbuild_path);
- }
- case GodotSharpBuilds::XBUILD: {
- String xbuild_path = GDMono::get_singleton()->get_mono_reg_info().bin_dir.plus_file("xbuild.bat");
-
- if (!FileAccess::exists(xbuild_path)) {
- WARN_PRINTS("Cannot find xbuild ('mono/builds/build_tool'). Tried with path: " + xbuild_path);
- }
+ *r_msbuild_path = GDMonoMarshal::mono_string_from_godot(msbuild_path);
- return GDMonoMarshal::mono_string_from_godot(xbuild_path);
- }
+ return;
+ } break;
default:
ERR_EXPLAIN("You don't deserve to live");
CRASH_NOW();
@@ -118,25 +124,28 @@ MonoString *godot_icall_BuildInstance_get_MSBuildPath() {
if (build_tool != GodotSharpBuilds::XBUILD) {
if (msbuild_path.empty()) {
WARN_PRINT("Cannot find msbuild ('mono/builds/build_tool').");
- return NULL;
+ return;
}
} else {
if (xbuild_path.empty()) {
WARN_PRINT("Cannot find xbuild ('mono/builds/build_tool').");
- return NULL;
+ return;
}
}
- return GDMonoMarshal::mono_string_from_godot(build_tool != GodotSharpBuilds::XBUILD ? msbuild_path : xbuild_path);
+ *r_msbuild_path = GDMonoMarshal::mono_string_from_godot(build_tool != GodotSharpBuilds::XBUILD ? msbuild_path : xbuild_path);
+
+ return;
#else
- return NULL;
+ ERR_PRINT("Not implemented on this platform");
+ return;
#endif
}
void GodotSharpBuilds::_register_internal_calls() {
mono_add_internal_call("GodotSharpTools.Build.BuildSystem::godot_icall_BuildInstance_ExitCallback", (void *)godot_icall_BuildInstance_ExitCallback);
- mono_add_internal_call("GodotSharpTools.Build.BuildInstance::godot_icall_BuildInstance_get_MSBuildPath", (void *)godot_icall_BuildInstance_get_MSBuildPath);
+ mono_add_internal_call("GodotSharpTools.Build.BuildInstance::godot_icall_BuildInstance_get_MSBuildInfo", (void *)godot_icall_BuildInstance_get_MSBuildInfo);
}
void GodotSharpBuilds::show_build_error_dialog(const String &p_message) {
@@ -269,7 +278,7 @@ bool GodotSharpBuilds::make_api_sln(GodotSharpBuilds::APIType p_api_type) {
return true;
}
-bool godotsharp_build_callback() {
+bool GodotSharpBuilds::build_project_blocking() {
if (!FileAccess::exists(GodotSharpDirs::get_project_sln_path()))
return true; // No solution to build
@@ -348,14 +357,27 @@ GodotSharpBuilds::GodotSharpBuilds() {
singleton = this;
- EditorNode::get_singleton()->add_build_callback(&godotsharp_build_callback);
+ EditorNode::get_singleton()->add_build_callback(&GodotSharpBuilds::build_project_blocking);
// Build tool settings
EditorSettings *ed_settings = EditorSettings::get_singleton();
if (!ed_settings->has_setting("mono/builds/build_tool")) {
- ed_settings->set_setting("mono/builds/build_tool", MSBUILD);
+ ed_settings->set_setting("mono/builds/build_tool",
+#ifdef WINDOWS_ENABLED
+ // TODO: Default to MSBUILD_MONO if its csc.exe issue is fixed in the installed mono version
+ MSBUILD
+#else
+ MSBUILD_MONO
+#endif
+ );
}
- ed_settings->add_property_hint(PropertyInfo(Variant::INT, "mono/builds/build_tool", PROPERTY_HINT_ENUM, "MSBuild (System),MSBuild (Mono),xbuild"));
+ ed_settings->add_property_hint(PropertyInfo(Variant::INT, "mono/builds/build_tool", PROPERTY_HINT_ENUM,
+#ifdef WINDOWS_ENABLED
+ "MSBuild (Mono),MSBuild (System)"
+#else
+ "MSBuild (Mono),xbuild (Deprecated)"
+#endif
+ ));
}
GodotSharpBuilds::~GodotSharpBuilds() {
diff --git a/modules/mono/editor/godotsharp_builds.h b/modules/mono/editor/godotsharp_builds.h
index 6d5fa3b44a..7d2f38a774 100644
--- a/modules/mono/editor/godotsharp_builds.h
+++ b/modules/mono/editor/godotsharp_builds.h
@@ -67,9 +67,12 @@ public:
};
enum BuildTool {
- MSBUILD,
MSBUILD_MONO,
- XBUILD
+#ifdef WINDOWS_ENABLED
+ MSBUILD
+#else
+ XBUILD // Deprecated
+#endif
};
_FORCE_INLINE_ static GodotSharpBuilds *get_singleton() { return singleton; }
@@ -89,6 +92,8 @@ public:
static bool make_api_sln(APIType p_api_type);
+ static bool build_project_blocking();
+
GodotSharpBuilds();
~GodotSharpBuilds();
};
diff --git a/modules/mono/editor/godotsharp_editor.cpp b/modules/mono/editor/godotsharp_editor.cpp
index ebfbdafeaf..39c57ee0be 100644
--- a/modules/mono/editor/godotsharp_editor.cpp
+++ b/modules/mono/editor/godotsharp_editor.cpp
@@ -46,21 +46,6 @@
#include "../utils/mono_reg_utils.h"
#endif
-class MonoReloadNode : public Node {
- GDCLASS(MonoReloadNode, Node)
-
-protected:
- void _notification(int p_what) {
- switch (p_what) {
- case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
- CSharpLanguage::get_singleton()->reload_assemblies_if_needed(true);
- } break;
- default: {
- } break;
- };
- }
-};
-
GodotSharpEditor *GodotSharpEditor::singleton = NULL;
bool GodotSharpEditor::_create_project_solution() {
@@ -258,3 +243,49 @@ GodotSharpEditor::~GodotSharpEditor() {
monodevel_instance = NULL;
}
}
+
+MonoReloadNode *MonoReloadNode::singleton = NULL;
+
+void MonoReloadNode::_reload_timer_timeout() {
+
+ CSharpLanguage::get_singleton()->reload_assemblies_if_needed(false);
+}
+
+void MonoReloadNode::restart_reload_timer() {
+
+ reload_timer->stop();
+ reload_timer->start();
+}
+
+void MonoReloadNode::_bind_methods() {
+
+ ClassDB::bind_method(D_METHOD("_reload_timer_timeout"), &MonoReloadNode::_reload_timer_timeout);
+}
+
+void MonoReloadNode::_notification(int p_what) {
+ switch (p_what) {
+ case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
+ restart_reload_timer();
+ CSharpLanguage::get_singleton()->reload_assemblies_if_needed(true);
+ } break;
+ default: {
+ } break;
+ };
+}
+
+MonoReloadNode::MonoReloadNode() {
+
+ singleton = this;
+
+ reload_timer = memnew(Timer);
+ add_child(reload_timer);
+ reload_timer->set_one_shot(false);
+ reload_timer->set_wait_time(EDITOR_DEF("mono/assembly_watch_interval_sec", 0.5));
+ reload_timer->connect("timeout", this, "_reload_timer_timeout");
+ reload_timer->start();
+}
+
+MonoReloadNode::~MonoReloadNode() {
+
+ singleton = NULL;
+}
diff --git a/modules/mono/editor/godotsharp_editor.h b/modules/mono/editor/godotsharp_editor.h
index 1ecb8c7a94..7b4b50b172 100644
--- a/modules/mono/editor/godotsharp_editor.h
+++ b/modules/mono/editor/godotsharp_editor.h
@@ -84,4 +84,27 @@ public:
~GodotSharpEditor();
};
+class MonoReloadNode : public Node {
+ GDCLASS(MonoReloadNode, Node)
+
+ Timer *reload_timer;
+
+ void _reload_timer_timeout();
+
+ static MonoReloadNode *singleton;
+
+protected:
+ static void _bind_methods();
+
+ void _notification(int p_what);
+
+public:
+ _FORCE_INLINE_ static MonoReloadNode *get_singleton() { return singleton; }
+
+ void restart_reload_timer();
+
+ MonoReloadNode();
+ ~MonoReloadNode();
+};
+
#endif // GODOTSHARP_EDITOR_H
diff --git a/modules/mono/editor/mono_bottom_panel.cpp b/modules/mono/editor/mono_bottom_panel.cpp
index 8d6a618ee8..31dc09856a 100644
--- a/modules/mono/editor/mono_bottom_panel.cpp
+++ b/modules/mono/editor/mono_bottom_panel.cpp
@@ -139,6 +139,14 @@ void MonoBottomPanel::_errors_toggled(bool p_pressed) {
build_tab->_update_issues_list();
}
+void MonoBottomPanel::_build_project_pressed() {
+
+ GodotSharpBuilds::get_singleton()->build_project_blocking();
+
+ MonoReloadNode::get_singleton()->restart_reload_timer();
+ CSharpLanguage::get_singleton()->reload_assemblies_if_needed(true);
+}
+
void MonoBottomPanel::_notification(int p_what) {
switch (p_what) {
@@ -153,6 +161,7 @@ void MonoBottomPanel::_notification(int p_what) {
void MonoBottomPanel::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("_build_project_pressed"), &MonoBottomPanel::_build_project_pressed);
ClassDB::bind_method(D_METHOD("_warnings_toggled", "pressed"), &MonoBottomPanel::_warnings_toggled);
ClassDB::bind_method(D_METHOD("_errors_toggled", "pressed"), &MonoBottomPanel::_errors_toggled);
ClassDB::bind_method(D_METHOD("_build_tab_item_selected", "idx"), &MonoBottomPanel::_build_tab_item_selected);
@@ -187,6 +196,12 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) {
toolbar_hbc->set_h_size_flags(SIZE_EXPAND_FILL);
panel_builds_tab->add_child(toolbar_hbc);
+ ToolButton *build_project_btn = memnew(ToolButton);
+ build_project_btn->set_text("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);
+
toolbar_hbc->add_spacer();
warnings_btn = memnew(ToolButton);
diff --git a/modules/mono/editor/mono_bottom_panel.h b/modules/mono/editor/mono_bottom_panel.h
index 83da5b9809..5cc4aa3240 100644
--- a/modules/mono/editor/mono_bottom_panel.h
+++ b/modules/mono/editor/mono_bottom_panel.h
@@ -61,6 +61,8 @@ class MonoBottomPanel : public VBoxContainer {
void _warnings_toggled(bool p_pressed);
void _errors_toggled(bool p_pressed);
+ void _build_project_pressed();
+
static MonoBottomPanel *singleton;
protected:
diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp
index 6d7cde95df..904a8ae2c7 100644
--- a/modules/mono/mono_gd/gd_mono.cpp
+++ b/modules/mono/mono_gd/gd_mono.cpp
@@ -625,6 +625,8 @@ GDMono::~GDMono() {
if (gdmono_log)
memdelete(gdmono_log);
+
+ singleton = NULL;
}
_GodotSharp *_GodotSharp::singleton = NULL;
diff --git a/modules/mono/mono_gd/gd_mono_assembly.cpp b/modules/mono/mono_gd/gd_mono_assembly.cpp
index 0d9b137f99..7dc7043eec 100644
--- a/modules/mono/mono_gd/gd_mono_assembly.cpp
+++ b/modules/mono/mono_gd/gd_mono_assembly.cpp
@@ -107,10 +107,11 @@ MonoAssembly *GDMonoAssembly::_preload_hook(MonoAssemblyName *aname, char **asse
search_dirs.push_back(String(rootdir).plus_file("mono").plus_file("4.5"));
}
- while (assemblies_path) {
- if (*assemblies_path)
+ if (assemblies_path) {
+ while (*assemblies_path) {
search_dirs.push_back(*assemblies_path);
- ++assemblies_path;
+ ++assemblies_path;
+ }
}
}
diff --git a/modules/mono/mono_reg_utils.py b/modules/mono/mono_reg_utils.py
index e9988625f5..8ddddb3a24 100644
--- a/modules/mono/mono_reg_utils.py
+++ b/modules/mono/mono_reg_utils.py
@@ -1,4 +1,7 @@
import os
+import platform
+
+from compat import decode_utf8
if os.name == 'nt':
import sys
@@ -11,8 +14,7 @@ if os.name == 'nt':
def _reg_open_key(key, subkey):
try:
return winreg.OpenKey(key, subkey)
- except (WindowsError, EnvironmentError) as e:
- import platform
+ except (WindowsError, OSError):
if platform.architecture()[0] == '32bit':
bitness_sam = winreg.KEY_WOW64_64KEY
else:
@@ -20,39 +22,93 @@ def _reg_open_key(key, subkey):
return winreg.OpenKey(key, subkey, 0, winreg.KEY_READ | bitness_sam)
-def _find_mono_in_reg(subkey):
+def _reg_open_key_bits(key, subkey, bits):
+ sam = winreg.KEY_READ
+
+ if platform.architecture()[0] == '32bit':
+ if bits == '64':
+ # Force 32bit process to search in 64bit registry
+ sam |= winreg.KEY_WOW64_64KEY
+ else:
+ if bits == '32':
+ # Force 64bit process to search in 32bit registry
+ sam |= winreg.KEY_WOW64_32KEY
+
+ return winreg.OpenKey(key, subkey, 0, sam)
+
+
+def _find_mono_in_reg(subkey, bits):
try:
- with _reg_open_key(winreg.HKEY_LOCAL_MACHINE, subkey) as hKey:
+ with _reg_open_key_bits(winreg.HKEY_LOCAL_MACHINE, subkey, bits) as hKey:
value, regtype = winreg.QueryValueEx(hKey, 'SdkInstallRoot')
return value
- except (WindowsError, EnvironmentError) as e:
+ except (WindowsError, OSError):
return None
-def _find_mono_in_reg_old(subkey):
+
+def _find_mono_in_reg_old(subkey, bits):
try:
- with _reg_open_key(winreg.HKEY_LOCAL_MACHINE, subkey) as hKey:
+ with _reg_open_key_bits(winreg.HKEY_LOCAL_MACHINE, subkey, bits) as hKey:
default_clr, regtype = winreg.QueryValueEx(hKey, 'DefaultCLR')
if default_clr:
- return _find_mono_in_reg(subkey + '\\' + default_clr)
+ return _find_mono_in_reg(subkey + '\\' + default_clr, bits)
return None
except (WindowsError, EnvironmentError):
return None
-def find_mono_root_dir():
- dir = _find_mono_in_reg(r'SOFTWARE\Mono')
- if dir:
- return dir
- dir = _find_mono_in_reg_old(r'SOFTWARE\Novell\Mono')
- if dir:
- return dir
- return None
+def find_mono_root_dir(bits):
+ root_dir = _find_mono_in_reg(r'SOFTWARE\Mono', bits)
+ if root_dir is not None:
+ return root_dir
+ root_dir = _find_mono_in_reg_old(r'SOFTWARE\Novell\Mono', bits)
+ if root_dir is not None:
+ return root_dir
+ return ''
def find_msbuild_tools_path_reg():
+ import subprocess
+
+ vswhere = os.getenv('PROGRAMFILES(X86)')
+ if not vswhere:
+ vswhere = os.getenv('PROGRAMFILES')
+ vswhere += r'\Microsoft Visual Studio\Installer\vswhere.exe'
+
+ vswhere_args = ['-latest', '-requires', 'Microsoft.Component.MSBuild']
+
try:
- with _reg_open_key(winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0') as hKey:
+ lines = subprocess.check_output([vswhere] + vswhere_args).splitlines()
+
+ for line in lines:
+ parts = decode_utf8(line).split(':', 1)
+
+ if len(parts) < 2 or parts[0] != 'installationPath':
+ continue
+
+ val = parts[1].strip()
+
+ if not val:
+ raise ValueError('Value of `installationPath` entry is empty')
+
+ return os.path.join(val, "MSBuild\\15.0\\Bin")
+
+ raise ValueError('Cannot find `installationPath` entry')
+ except ValueError as e:
+ print('Error reading output from vswhere: ' + e.message)
+ except WindowsError:
+ pass # Fine, vswhere not found
+ except (subprocess.CalledProcessError, OSError):
+ pass
+
+ # Try to find 14.0 in the Registry
+
+ try:
+ subkey = r'SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0'
+ with _reg_open_key(winreg.HKEY_LOCAL_MACHINE, subkey) as hKey:
value, regtype = winreg.QueryValueEx(hKey, 'MSBuildToolsPath')
return value
- except (WindowsError, EnvironmentError) as e:
- return None
+ except (WindowsError, OSError):
+ return ''
+
+ return ''
diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp
index 473a093077..45df312cae 100644
--- a/platform/android/os_android.cpp
+++ b/platform/android/os_android.cpp
@@ -123,7 +123,9 @@ void OS_Android::initialize_core() {
void OS_Android::initialize_logger() {
Vector<Logger *> loggers;
loggers.push_back(memnew(AndroidLogger));
- loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
+ // FIXME: Reenable once we figure out how to get this properly in user://
+ // instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277)
+ //loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
_set_logger(memnew(CompositeLogger(loggers)));
}
diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp
index 08792b8631..0efe22c1af 100644
--- a/platform/iphone/os_iphone.cpp
+++ b/platform/iphone/os_iphone.cpp
@@ -104,7 +104,9 @@ void OSIPhone::initialize_core() {
void OSIPhone::initialize_logger() {
Vector<Logger *> loggers;
loggers.push_back(memnew(SyslogLogger));
- loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
+ // FIXME: Reenable once we figure out how to get this properly in user://
+ // instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277)
+ //loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
_set_logger(memnew(CompositeLogger(loggers)));
}
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm
index e1a01d2b59..d67bc653c9 100644
--- a/platform/osx/os_osx.mm
+++ b/platform/osx/os_osx.mm
@@ -1206,7 +1206,9 @@ typedef UnixTerminalLogger OSXTerminalLogger;
void OS_OSX::initialize_logger() {
Vector<Logger *> loggers;
loggers.push_back(memnew(OSXTerminalLogger));
- loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
+ // FIXME: Reenable once we figure out how to get this properly in user://
+ // instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277)
+ //loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
_set_logger(memnew(CompositeLogger(loggers)));
}
diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp
index ff5a935229..c67e5bae05 100644
--- a/platform/uwp/os_uwp.cpp
+++ b/platform/uwp/os_uwp.cpp
@@ -186,7 +186,9 @@ void OSUWP::initialize_core() {
void OSUWP::initialize_logger() {
Vector<Logger *> loggers;
loggers.push_back(memnew(WindowsTerminalLogger));
- loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
+ // FIXME: Reenable once we figure out how to get this properly in user://
+ // instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277)
+ //loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
_set_logger(memnew(CompositeLogger(loggers)));
}
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index c27e7c0d2b..ac78dddf0c 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -209,7 +209,9 @@ void OS_Windows::initialize_core() {
void OS_Windows::initialize_logger() {
Vector<Logger *> loggers;
loggers.push_back(memnew(WindowsTerminalLogger));
- loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
+ // FIXME: Reenable once we figure out how to get this properly in user://
+ // instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277)
+ //loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt")));
_set_logger(memnew(CompositeLogger(loggers)));
}
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp
index ed8eff436c..f57f58c18d 100644
--- a/scene/gui/line_edit.cpp
+++ b/scene/gui/line_edit.cpp
@@ -161,13 +161,14 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
} break;
- case (KEY_Z): { // Simple One level undo
-
+ case (KEY_Z): { // undo / redo
if (editable) {
-
- undo();
+ if (k->get_shift()) {
+ redo();
+ } else {
+ undo();
+ }
}
-
} break;
case (KEY_U): { // Delete from start to cursor
@@ -175,7 +176,6 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
if (editable) {
selection_clear();
- undo_text = text;
text = text.substr(cursor_pos, text.length() - cursor_pos);
Ref<Font> font = get_font("font");
@@ -205,7 +205,6 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
if (editable) {
selection_clear();
- undo_text = text;
text = text.substr(0, cursor_pos);
_text_changed();
}
@@ -245,7 +244,6 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
break;
if (selection.enabled) {
- undo_text = text;
selection_delete();
break;
}
@@ -276,7 +274,6 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
set_cursor_position(cc);
} else {
- undo_text = text;
delete_char();
}
@@ -382,7 +379,6 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
}
if (selection.enabled) {
- undo_text = text;
selection_delete();
break;
}
@@ -417,7 +413,6 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) {
delete_text(cursor_pos, cc);
} else {
- undo_text = text;
set_cursor_position(cursor_pos + 1);
delete_char();
}
@@ -778,7 +773,6 @@ void LineEdit::copy_text() {
void LineEdit::cut_text() {
if (selection.enabled) {
- undo_text = text;
OS::get_singleton()->set_clipboard(text.substr(selection.begin, selection.end - selection.begin));
selection_delete();
}
@@ -798,23 +792,33 @@ void LineEdit::paste_text() {
}
void LineEdit::undo() {
-
- int old_cursor_pos = cursor_pos;
- text = undo_text;
-
- Ref<Font> font = get_font("font");
-
- cached_width = 0;
- for (int i = 0; i < text.length(); i++)
- cached_width += font->get_char_size(text[i]).width;
-
- if (old_cursor_pos > text.length()) {
- set_cursor_position(text.length());
- } else {
- set_cursor_position(old_cursor_pos);
+ if (undo_stack_pos == NULL) {
+ if (undo_stack.size() <= 1) {
+ return;
+ }
+ undo_stack_pos = undo_stack.back();
+ } else if (undo_stack_pos == undo_stack.front()) {
+ return;
}
+ undo_stack_pos = undo_stack_pos->prev();
+ TextOperation op = undo_stack_pos->get();
+ text = op.text;
+ set_cursor_position(op.cursor_pos);
+ _emit_text_change();
+}
- _text_changed();
+void LineEdit::redo() {
+ if (undo_stack_pos == NULL) {
+ return;
+ }
+ if (undo_stack_pos == undo_stack.back()) {
+ return;
+ }
+ undo_stack_pos = undo_stack_pos->next();
+ TextOperation op = undo_stack_pos->get();
+ text = op.text;
+ set_cursor_position(op.cursor_pos);
+ _emit_text_change();
}
void LineEdit::shift_selection_check_pre(bool p_shift) {
@@ -947,8 +951,6 @@ void LineEdit::delete_char() {
void LineEdit::delete_text(int p_from_column, int p_to_column) {
- undo_text = text;
-
if (text.size() > 0) {
Ref<Font> font = get_font("font");
if (font != NULL) {
@@ -1086,8 +1088,6 @@ void LineEdit::append_at_cursor(String p_text) {
if ((max_length <= 0) || (text.length() + p_text.length() <= max_length)) {
- undo_text = text;
-
Ref<Font> font = get_font("font");
if (font != NULL) {
for (int i = 0; i < p_text.length(); i++)
@@ -1105,6 +1105,7 @@ void LineEdit::append_at_cursor(String p_text) {
void LineEdit::clear_internal() {
+ _clear_undo_stack();
cached_width = 0;
cursor_pos = 0;
window_pos = 0;
@@ -1275,6 +1276,11 @@ void LineEdit::menu_option(int p_option) {
undo();
}
} break;
+ case MENU_REDO: {
+ if (editable) {
+ redo();
+ }
+ }
}
}
@@ -1312,10 +1318,43 @@ void LineEdit::_text_changed() {
if (expand_to_text_length)
minimum_size_changed();
+ _emit_text_change();
+ _clear_redo();
+}
+
+void LineEdit::_emit_text_change() {
emit_signal("text_changed", text);
_change_notify("text");
}
+void LineEdit::_clear_redo() {
+ _create_undo_state();
+ if (undo_stack_pos == NULL) {
+ return;
+ }
+
+ undo_stack_pos = undo_stack_pos->next();
+ while (undo_stack_pos) {
+ List<TextOperation>::Element *elem = undo_stack_pos;
+ undo_stack_pos = undo_stack_pos->next();
+ undo_stack.erase(elem);
+ }
+ _create_undo_state();
+}
+
+void LineEdit::_clear_undo_stack() {
+ undo_stack.clear();
+ undo_stack_pos = NULL;
+ _create_undo_state();
+}
+
+void LineEdit::_create_undo_state() {
+ TextOperation op;
+ op.text = text;
+ op.cursor_pos = cursor_pos;
+ undo_stack.push_back(op);
+}
+
void LineEdit::_bind_methods() {
ClassDB::bind_method(D_METHOD("_toggle_draw_caret"), &LineEdit::_toggle_draw_caret);
@@ -1369,6 +1408,7 @@ void LineEdit::_bind_methods() {
BIND_ENUM_CONSTANT(MENU_CLEAR);
BIND_ENUM_CONSTANT(MENU_SELECT_ALL);
BIND_ENUM_CONSTANT(MENU_UNDO);
+ BIND_ENUM_CONSTANT(MENU_REDO);
BIND_ENUM_CONSTANT(MENU_MAX);
ADD_PROPERTYNZ(PropertyInfo(Variant::STRING, "text"), "set_text", "get_text");
@@ -1388,6 +1428,8 @@ void LineEdit::_bind_methods() {
LineEdit::LineEdit() {
+ undo_stack_pos = NULL;
+ _create_undo_state();
align = ALIGN_LEFT;
cached_width = 0;
cursor_pos = 0;
@@ -1421,6 +1463,7 @@ LineEdit::LineEdit() {
menu->add_item(TTR("Clear"), MENU_CLEAR);
menu->add_separator();
menu->add_item(TTR("Undo"), MENU_UNDO, KEY_MASK_CMD | KEY_Z);
+ menu->add_item(TTR("Redo"), MENU_REDO, KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_Z);
menu->connect("id_pressed", this, "menu_option");
expand_to_text_length = false;
}
diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h
index 661f9b60b9..bece29a37d 100644
--- a/scene/gui/line_edit.h
+++ b/scene/gui/line_edit.h
@@ -56,6 +56,7 @@ public:
MENU_CLEAR,
MENU_SELECT_ALL,
MENU_UNDO,
+ MENU_REDO,
MENU_MAX
};
@@ -92,10 +93,22 @@ private:
bool drag_attempt;
} selection;
+ struct TextOperation {
+ int cursor_pos;
+ String text;
+ };
+ List<TextOperation> undo_stack;
+ List<TextOperation>::Element *undo_stack_pos;
+
+ void _clear_undo_stack();
+ void _clear_redo();
+ void _create_undo_state();
+
Timer *caret_blink_timer;
static void _ime_text_callback(void *p_self, String p_text, Point2 p_selection);
void _text_changed();
+ void _emit_text_change();
bool expand_to_text_length;
bool caret_blink_enabled;
@@ -166,6 +179,7 @@ public:
void cut_text();
void paste_text();
void undo();
+ void redo();
void set_editable(bool p_editable);
bool is_editable() const;
diff --git a/thirdparty/README.md b/thirdparty/README.md
index b4a15a7d53..05aface43b 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -121,7 +121,7 @@ Files extracted from upstream source:
## libpng
- Upstream: http://libpng.org/pub/png/libpng.html
-- Version: 1.6.33
+- Version: 1.6.34
- License: libpng/zlib
Files extracted from upstream source:
diff --git a/thirdparty/libpng/LICENSE b/thirdparty/libpng/LICENSE
index 57c366feea..4cda4fa0ad 100644
--- a/thirdparty/libpng/LICENSE
+++ b/thirdparty/libpng/LICENSE
@@ -10,7 +10,7 @@ this sentence.
This code is released under the libpng license.
-libpng versions 1.0.7, July 1, 2000 through 1.6.33, September 28, 2017 are
+libpng versions 1.0.7, July 1, 2000 through 1.6.34, September 29, 2017 are
Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals
@@ -130,4 +130,4 @@ any encryption software. See the EAR, paragraphs 734.3(b)(3) and
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-September 28, 2017
+September 29, 2017
diff --git a/thirdparty/libpng/png.c b/thirdparty/libpng/png.c
index 55134729c7..ff02c56518 100644
--- a/thirdparty/libpng/png.c
+++ b/thirdparty/libpng/png.c
@@ -14,7 +14,7 @@
#include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_33 Your_png_h_is_not_version_1_6_33;
+typedef png_libpng_version_1_6_34 Your_png_h_is_not_version_1_6_34;
#ifdef __GNUC__
/* The version tests may need to be added to, but the problem warning has
@@ -816,14 +816,14 @@ png_get_copyright(png_const_structrp png_ptr)
#else
# ifdef __STDC__
return PNG_STRING_NEWLINE \
- "libpng version 1.6.33 - September 28, 2017" PNG_STRING_NEWLINE \
+ "libpng version 1.6.34 - September 29, 2017" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson" \
PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
PNG_STRING_NEWLINE;
# else
- return "libpng version 1.6.33 - September 28, 2017\
+ return "libpng version 1.6.34 - September 29, 2017\
Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff --git a/thirdparty/libpng/png.h b/thirdparty/libpng/png.h
index a5f142b89c..4c873f5c22 100644
--- a/thirdparty/libpng/png.h
+++ b/thirdparty/libpng/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.6.33, September 28, 2017
+ * libpng version 1.6.34, September 29, 2017
*
* Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -12,7 +12,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
- * libpng versions 0.97, January 1998, through 1.6.33, September 28, 2017:
+ * libpng versions 0.97, January 1998, through 1.6.34, September 29, 2017:
* Glenn Randers-Pehrson.
* See also "Contributing Authors", below.
*/
@@ -25,7 +25,7 @@
*
* This code is released under the libpng license.
*
- * libpng versions 1.0.7, July 1, 2000 through 1.6.33, September 28, 2017 are
+ * libpng versions 1.0.7, July 1, 2000 through 1.6.34, September 29, 2017 are
* Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
* derived from libpng-1.0.6, and are distributed according to the same
* disclaimer and license as libpng-1.0.6 with the following individuals
@@ -209,11 +209,11 @@
* ...
* 1.0.19 10 10019 10.so.0.19[.0]
* ...
- * 1.2.57 13 10257 12.so.0.57[.0]
+ * 1.2.59 13 10257 12.so.0.59[.0]
* ...
- * 1.5.28 15 10527 15.so.15.28[.0]
+ * 1.5.30 15 10527 15.so.15.30[.0]
* ...
- * 1.6.33 16 10633 16.so.16.33[.0]
+ * 1.6.34 16 10633 16.so.16.34[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -241,13 +241,13 @@
* Y2K compliance in libpng:
* =========================
*
- * September 28, 2017
+ * September 29, 2017
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
- * upward through 1.6.33 are Y2K compliant. It is my belief that
+ * upward through 1.6.34 are Y2K compliant. It is my belief that
* earlier versions were also Y2K compliant.
*
* Libpng only has two year fields. One is a 2-byte unsigned integer
@@ -309,8 +309,8 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.6.33"
-#define PNG_HEADER_VERSION_STRING " libpng version 1.6.33 - September 28, 2017\n"
+#define PNG_LIBPNG_VER_STRING "1.6.34"
+#define PNG_HEADER_VERSION_STRING " libpng version 1.6.34 - September 29, 2017\n"
#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
@@ -318,7 +318,7 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6
-#define PNG_LIBPNG_VER_RELEASE 33
+#define PNG_LIBPNG_VER_RELEASE 34
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
@@ -349,7 +349,7 @@
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
*/
-#define PNG_LIBPNG_VER 10633 /* 1.6.33 */
+#define PNG_LIBPNG_VER 10634 /* 1.6.34 */
/* Library configuration: these options cannot be changed after
* the library has been built.
@@ -459,7 +459,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
-typedef char* png_libpng_version_1_6_33;
+typedef char* png_libpng_version_1_6_34;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
diff --git a/thirdparty/libpng/pngconf.h b/thirdparty/libpng/pngconf.h
index e99e827dda..d13b13e57a 100644
--- a/thirdparty/libpng/pngconf.h
+++ b/thirdparty/libpng/pngconf.h
@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng version 1.6.33, September 28, 2017
+ * libpng version 1.6.34, September 29, 2017
*
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/thirdparty/libpng/pnglibconf.h b/thirdparty/libpng/pnglibconf.h
index cbf715dd93..53b5e442c4 100644
--- a/thirdparty/libpng/pnglibconf.h
+++ b/thirdparty/libpng/pnglibconf.h
@@ -1,8 +1,8 @@
-/* libpng 1.6.33 STANDARD API DEFINITION */
+/* libpng 1.6.34 STANDARD API DEFINITION */
/* pnglibconf.h - library build configuration */
-/* Libpng version 1.6.33 - September 28, 2017 */
+/* Libpng version 1.6.34 - September 29, 2017 */
/* Copyright (c) 1998-2017 Glenn Randers-Pehrson */