summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--COPYRIGHT.txt2
-rw-r--r--doc/classes/CanvasGroup.xml17
-rw-r--r--doc/classes/String.xml2
-rw-r--r--doc/classes/StringName.xml2
-rw-r--r--doc/translations/ar.po396
-rw-r--r--doc/translations/ca.po255
-rw-r--r--doc/translations/classes.pot255
-rw-r--r--doc/translations/cs.po268
-rw-r--r--doc/translations/de.po349
-rw-r--r--doc/translations/el.po255
-rw-r--r--doc/translations/es.po307
-rw-r--r--doc/translations/et.po255
-rw-r--r--doc/translations/fa.po256
-rw-r--r--doc/translations/fi.po255
-rw-r--r--doc/translations/fil.po255
-rw-r--r--doc/translations/fr.po438
-rw-r--r--doc/translations/gl.po255
-rw-r--r--doc/translations/hi.po255
-rw-r--r--doc/translations/hu.po255
-rw-r--r--doc/translations/id.po262
-rw-r--r--doc/translations/is.po255
-rw-r--r--doc/translations/it.po1241
-rw-r--r--doc/translations/ja.po312
-rw-r--r--doc/translations/ko.po268
-rw-r--r--doc/translations/lt.po255
-rw-r--r--doc/translations/lv.po255
-rw-r--r--doc/translations/mr.po255
-rw-r--r--doc/translations/nb.po255
-rw-r--r--doc/translations/ne.po255
-rw-r--r--doc/translations/nl.po255
-rw-r--r--doc/translations/pl.po337
-rw-r--r--doc/translations/pt.po275
-rw-r--r--doc/translations/pt_BR.po391
-rw-r--r--doc/translations/ro.po255
-rw-r--r--doc/translations/ru.po1741
-rw-r--r--doc/translations/sk.po255
-rw-r--r--doc/translations/sr_Cyrl.po255
-rw-r--r--doc/translations/sv.po255
-rw-r--r--doc/translations/th.po255
-rw-r--r--doc/translations/tl.po255
-rw-r--r--doc/translations/tr.po262
-rw-r--r--doc/translations/uk.po266
-rw-r--r--doc/translations/vi.po256
-rw-r--r--doc/translations/zh_CN.po1442
-rw-r--r--doc/translations/zh_TW.po267
-rw-r--r--drivers/gles3/effects/copy_effects.cpp4
-rw-r--r--drivers/gles3/rasterizer_canvas_gles3.cpp10
-rw-r--r--editor/animation_track_editor_plugins.cpp88
-rw-r--r--editor/import/dynamic_font_import_settings.cpp11
-rw-r--r--editor/plugins/animation_blend_space_1d_editor.cpp34
-rw-r--r--editor/plugins/animation_blend_space_2d_editor.cpp35
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.cpp59
-rw-r--r--editor/plugins/animation_state_machine_editor.cpp51
-rw-r--r--editor/plugins/animation_tree_editor_plugin.cpp13
-rw-r--r--editor/plugins/animation_tree_editor_plugin.h1
-rw-r--r--editor/plugins/tiles/tile_map_editor.cpp9
-rw-r--r--editor/plugins/tiles/tile_map_editor.h2
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.cpp19
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.h1
-rw-r--r--editor/translations/af.po24
-rw-r--r--editor/translations/ar.po650
-rw-r--r--editor/translations/az.po21
-rw-r--r--editor/translations/bg.po87
-rw-r--r--editor/translations/bn.po23
-rw-r--r--editor/translations/br.po21
-rw-r--r--editor/translations/ca.po25
-rw-r--r--editor/translations/cs.po591
-rw-r--r--editor/translations/da.po33
-rw-r--r--editor/translations/de.po37
-rw-r--r--editor/translations/editor.pot20
-rw-r--r--editor/translations/el.po26
-rw-r--r--editor/translations/en_Shaw.po21
-rw-r--r--editor/translations/eo.po25
-rw-r--r--editor/translations/es.po892
-rw-r--r--editor/translations/es_AR.po112
-rw-r--r--editor/translations/et.po21
-rw-r--r--editor/translations/eu.po33
-rw-r--r--editor/translations/fa.po38
-rw-r--r--editor/translations/fi.po300
-rw-r--r--editor/translations/fil.po123
-rw-r--r--editor/translations/fr.po499
-rw-r--r--editor/translations/ga.po21
-rw-r--r--editor/translations/gl.po25
-rw-r--r--editor/translations/he.po350
-rw-r--r--editor/translations/hi.po335
-rw-r--r--editor/translations/hr.po21
-rw-r--r--editor/translations/hu.po24
-rw-r--r--editor/translations/id.po26
-rw-r--r--editor/translations/ig.po20
-rw-r--r--editor/translations/is.po21
-rw-r--r--editor/translations/it.po1048
-rw-r--r--editor/translations/ja.po452
-rw-r--r--editor/translations/ka.po21
-rw-r--r--editor/translations/km.po20
-rw-r--r--editor/translations/ko.po1571
-rw-r--r--editor/translations/lt.po21
-rw-r--r--editor/translations/lv.po21
-rw-r--r--editor/translations/mk.po43
-rw-r--r--editor/translations/ml.po20
-rw-r--r--editor/translations/mr.po20
-rw-r--r--editor/translations/ms.po21
-rw-r--r--editor/translations/nb.po41
-rw-r--r--editor/translations/nl.po25
-rw-r--r--editor/translations/pl.po415
-rw-r--r--editor/translations/pr.po21
-rw-r--r--editor/translations/pt.po2577
-rw-r--r--editor/translations/pt_BR.po484
-rw-r--r--editor/translations/ro.po219
-rw-r--r--editor/translations/ru.po72
-rw-r--r--editor/translations/si.po21
-rw-r--r--editor/translations/sk.po21
-rw-r--r--editor/translations/sl.po24
-rw-r--r--editor/translations/sq.po21
-rw-r--r--editor/translations/sr_Cyrl.po23
-rw-r--r--editor/translations/sr_Latn.po21
-rw-r--r--editor/translations/sv.po36
-rw-r--r--editor/translations/te.po21
-rw-r--r--editor/translations/th.po52
-rw-r--r--editor/translations/tl.po21
-rw-r--r--editor/translations/tr.po114
-rw-r--r--editor/translations/uk.po32
-rw-r--r--editor/translations/ur_PK.po21
-rw-r--r--editor/translations/vi.po38
-rw-r--r--editor/translations/zh_CN.po75
-rw-r--r--editor/translations/zh_HK.po24
-rw-r--r--editor/translations/zh_TW.po64
-rw-r--r--modules/gdscript/gdscript_analyzer.cpp6
-rw-r--r--modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.gd7
-rw-r--r--modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.out2
-rw-r--r--modules/openxr/action_map/openxr_action.cpp6
-rw-r--r--modules/openxr/action_map/openxr_action_map.cpp34
-rw-r--r--modules/openxr/action_map/openxr_action_map.h4
-rw-r--r--modules/openxr/action_map/openxr_action_set.cpp10
-rw-r--r--modules/openxr/action_map/openxr_defs.cpp671
-rw-r--r--modules/openxr/action_map/openxr_defs.h124
-rw-r--r--modules/openxr/action_map/openxr_interaction_profile.cpp24
-rw-r--r--modules/openxr/action_map/openxr_interaction_profile.h3
-rw-r--r--modules/openxr/action_map/openxr_interaction_profile_meta_data.cpp713
-rw-r--r--modules/openxr/action_map/openxr_interaction_profile_meta_data.h118
-rw-r--r--modules/openxr/editor/openxr_action_editor.cpp87
-rw-r--r--modules/openxr/editor/openxr_action_editor.h9
-rw-r--r--modules/openxr/editor/openxr_action_map_editor.cpp198
-rw-r--r--modules/openxr/editor/openxr_action_map_editor.h15
-rw-r--r--modules/openxr/editor/openxr_action_set_editor.cpp128
-rw-r--r--modules/openxr/editor/openxr_action_set_editor.h11
-rw-r--r--modules/openxr/editor/openxr_interaction_profile_editor.cpp89
-rw-r--r--modules/openxr/editor/openxr_interaction_profile_editor.h15
-rw-r--r--modules/openxr/editor/openxr_select_interaction_profile_dialog.cpp4
-rw-r--r--modules/openxr/editor/openxr_select_interaction_profile_dialog.h2
-rw-r--r--modules/openxr/extensions/openxr_extension_wrapper.h5
-rw-r--r--modules/openxr/extensions/openxr_htc_vive_tracker_extension.cpp35
-rw-r--r--modules/openxr/extensions/openxr_htc_vive_tracker_extension.h1
-rw-r--r--modules/openxr/extensions/openxr_palm_pose_extension.cpp13
-rw-r--r--modules/openxr/extensions/openxr_palm_pose_extension.h2
-rw-r--r--modules/openxr/openxr_api.cpp88
-rw-r--r--modules/openxr/openxr_api.h5
-rw-r--r--modules/openxr/openxr_interface.cpp4
-rw-r--r--modules/openxr/register_types.cpp22
-rw-r--r--modules/raycast/config.py12
-rw-r--r--modules/text_server_adv/SCsub3
-rw-r--r--scene/2d/canvas_group.cpp2
-rw-r--r--scene/2d/gpu_particles_2d.cpp6
-rw-r--r--scene/animation/animation_tree.cpp2
-rw-r--r--scene/gui/item_list.cpp1
-rw-r--r--scene/resources/resource_format_text.cpp23
-rw-r--r--servers/rendering/renderer_rd/effects/copy_effects.cpp8
-rw-r--r--servers/rendering/renderer_rd/effects/copy_effects.h2
-rw-r--r--servers/rendering/renderer_rd/shaders/effects/copy.glsl2
-rw-r--r--servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl2
-rw-r--r--servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl5
-rw-r--r--servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl3
-rw-r--r--servers/rendering/renderer_rd/storage_rd/texture_storage.cpp14
-rw-r--r--servers/rendering/shader_compiler.cpp2
-rw-r--r--tests/scene/test_arraymesh.h4
-rw-r--r--tests/scene/test_bit_map.h35
-rw-r--r--tests/scene/test_curve.h3
-rw-r--r--thirdparty/README.md6
-rw-r--r--thirdparty/graphite/include/graphite2/Font.h28
-rw-r--r--thirdparty/graphite/include/graphite2/Log.h28
-rw-r--r--thirdparty/graphite/include/graphite2/Segment.h28
-rw-r--r--thirdparty/graphite/include/graphite2/Types.h28
-rw-r--r--thirdparty/graphite/src/CmapCache.cpp29
-rw-r--r--thirdparty/graphite/src/Code.cpp29
-rw-r--r--thirdparty/graphite/src/Collider.cpp29
-rw-r--r--thirdparty/graphite/src/Decompressor.cpp29
-rw-r--r--thirdparty/graphite/src/Face.cpp29
-rw-r--r--thirdparty/graphite/src/FeatureMap.cpp29
-rw-r--r--thirdparty/graphite/src/FileFace.cpp29
-rw-r--r--thirdparty/graphite/src/Font.cpp27
-rw-r--r--thirdparty/graphite/src/GlyphCache.cpp37
-rw-r--r--thirdparty/graphite/src/GlyphFace.cpp27
-rw-r--r--thirdparty/graphite/src/Intervals.cpp29
-rw-r--r--thirdparty/graphite/src/Justifier.cpp27
-rw-r--r--thirdparty/graphite/src/NameTable.cpp27
-rw-r--r--thirdparty/graphite/src/Pass.cpp35
-rw-r--r--thirdparty/graphite/src/Position.cpp27
-rw-r--r--thirdparty/graphite/src/Segment.cpp29
-rw-r--r--thirdparty/graphite/src/Silf.cpp29
-rw-r--r--thirdparty/graphite/src/Slot.cpp29
-rw-r--r--thirdparty/graphite/src/Sparse.cpp29
-rw-r--r--thirdparty/graphite/src/TtfUtil.cpp33
-rw-r--r--thirdparty/graphite/src/UtfCodec.cpp27
-rw-r--r--thirdparty/graphite/src/call_machine.cpp29
-rw-r--r--thirdparty/graphite/src/direct_machine.cpp29
-rw-r--r--thirdparty/graphite/src/gr_char_info.cpp27
-rw-r--r--thirdparty/graphite/src/gr_face.cpp29
-rw-r--r--thirdparty/graphite/src/gr_features.cpp29
-rw-r--r--thirdparty/graphite/src/gr_font.cpp27
-rw-r--r--thirdparty/graphite/src/gr_logging.cpp27
-rw-r--r--thirdparty/graphite/src/gr_segment.cpp29
-rw-r--r--thirdparty/graphite/src/gr_slot.cpp29
-rw-r--r--thirdparty/graphite/src/inc/CharInfo.h27
-rw-r--r--thirdparty/graphite/src/inc/CmapCache.h27
-rw-r--r--thirdparty/graphite/src/inc/Code.h29
-rw-r--r--thirdparty/graphite/src/inc/Collider.h29
-rw-r--r--thirdparty/graphite/src/inc/Compression.h27
-rw-r--r--thirdparty/graphite/src/inc/Decompressor.h27
-rw-r--r--thirdparty/graphite/src/inc/Endian.h29
-rw-r--r--thirdparty/graphite/src/inc/Error.h33
-rw-r--r--thirdparty/graphite/src/inc/Face.h29
-rw-r--r--thirdparty/graphite/src/inc/FeatureMap.h29
-rw-r--r--thirdparty/graphite/src/inc/FeatureVal.h27
-rw-r--r--thirdparty/graphite/src/inc/FileFace.h29
-rw-r--r--thirdparty/graphite/src/inc/Font.h27
-rw-r--r--thirdparty/graphite/src/inc/GlyphCache.h29
-rw-r--r--thirdparty/graphite/src/inc/GlyphFace.h27
-rw-r--r--thirdparty/graphite/src/inc/Intervals.h29
-rw-r--r--thirdparty/graphite/src/inc/List.h29
-rw-r--r--thirdparty/graphite/src/inc/Machine.h29
-rw-r--r--thirdparty/graphite/src/inc/Main.h29
-rw-r--r--thirdparty/graphite/src/inc/NameTable.h27
-rw-r--r--thirdparty/graphite/src/inc/Pass.h27
-rw-r--r--thirdparty/graphite/src/inc/Position.h27
-rw-r--r--thirdparty/graphite/src/inc/Rule.h29
-rw-r--r--thirdparty/graphite/src/inc/Segment.h29
-rw-r--r--thirdparty/graphite/src/inc/Silf.h29
-rw-r--r--thirdparty/graphite/src/inc/Slot.h29
-rw-r--r--thirdparty/graphite/src/inc/Sparse.h29
-rw-r--r--thirdparty/graphite/src/inc/TtfTypes.h35
-rw-r--r--thirdparty/graphite/src/inc/TtfUtil.h36
-rw-r--r--thirdparty/graphite/src/inc/UtfCodec.h29
-rw-r--r--thirdparty/graphite/src/inc/bits.h29
-rw-r--r--thirdparty/graphite/src/inc/debug.h29
-rw-r--r--thirdparty/graphite/src/inc/json.h29
-rw-r--r--thirdparty/graphite/src/inc/locale2lcid.h27
-rw-r--r--thirdparty/graphite/src/inc/opcode_table.h27
-rw-r--r--thirdparty/graphite/src/inc/opcodes.h29
-rw-r--r--thirdparty/graphite/src/json.cpp29
-rw-r--r--thirdparty/openxr/include/openxr/openxr.h177
-rw-r--r--thirdparty/openxr/include/openxr/openxr_reflection.h490
-rw-r--r--thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h261
-rw-r--r--thirdparty/openxr/include/openxr/openxr_reflection_structs.h427
-rw-r--r--thirdparty/openxr/src/loader/loader_core.cpp4
-rw-r--r--thirdparty/openxr/src/loader/manifest_file.cpp12
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table.c14
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table.h14
256 files changed, 19762 insertions, 13785 deletions
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
index 02cd733c92..d41f40a78b 100644
--- a/COPYRIGHT.txt
+++ b/COPYRIGHT.txt
@@ -218,7 +218,7 @@ License: glslang
Files: ./thirdparty/graphite/
Comment: Graphite engine
Copyright: 2010, SIL International
-License: MPL-2.0
+License: Expat
Files: ./thirdparty/harfbuzz/
Comment: HarfBuzz text shaping library
diff --git a/doc/classes/CanvasGroup.xml b/doc/classes/CanvasGroup.xml
index d2bcf3c7ac..37827defec 100644
--- a/doc/classes/CanvasGroup.xml
+++ b/doc/classes/CanvasGroup.xml
@@ -5,16 +5,33 @@
</brief_description>
<description>
Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object. It allows to e.g. draw overlapping translucent 2D nodes without blending (set [member CanvasItem.self_modulate] property of [CanvasGroup] to achieve this effect).
+ [b]Note:[/b] The [CanvasGroup] uses a custom shader to read from the backbuffer to draw its children. Assigning a [Material] to the [CanvasGroup] overrides the builtin shader. To duplicate the behavior of the builtin shader in a custom [Shader] use the following:
+ [codeblock]
+ shader_type canvas_item;
+
+ void fragment() {
+ vec4 c = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0);
+
+ if (c.a &gt; 0.0001) {
+ c.rgb /= c.a;
+ }
+
+ COLOR *= c;
+ }
+ [/codeblock]
[b]Note:[/b] Since [CanvasGroup] and [member CanvasItem.clip_children] both utilize the backbuffer, children of a [CanvasGroup] who have their [member CanvasItem.clip_children] set to anything other than [constant CanvasItem.CLIP_CHILDREN_DISABLED] will not function correctly.
</description>
<tutorials>
</tutorials>
<members>
<member name="clear_margin" type="float" setter="set_clear_margin" getter="get_clear_margin" default="10.0">
+ Sets the size of the margin used to expand the clearing rect of this [CanvasGroup]. This expands the area of the backbuffer that will be used by the [CanvasGroup]. A smaller margin will reduce the area of the backbuffer used which can increase performance, however if [member use_mipmaps] is enabled, a small margin may result in mipmap errors at the edge of the [CanvasGroup]. Accordingly, this should be left as small as possible, but should be increased if artifacts appear along the edges of the canvas group.
</member>
<member name="fit_margin" type="float" setter="set_fit_margin" getter="get_fit_margin" default="10.0">
+ Sets the size of a margin used to expand the drawable rect of this [CanvasGroup]. The size of the [CanvasGroup] is determined by fitting a rect around its children then expanding that rect by [member fit_margin]. This increases both the backbuffer area used and the area covered by the [CanvasGroup] both of which can reduce performance. This should be kept as small as possible and should only be expanded when an increased size is needed (e.g. for custom shader effects).
</member>
<member name="use_mipmaps" type="bool" setter="set_use_mipmaps" getter="is_using_mipmaps" default="false">
+ If [code]true[/code], calculates mipmaps for the backbuffer before drawing the [CanvasGroup] so that mipmaps can be used in a custom [ShaderMaterial] attached to the [CanvasGroup]. Generating mipmaps has a performance cost so this should not be enabled unless required.
</member>
</members>
</class>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index d5624aeaa2..653d53607e 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -237,7 +237,7 @@
<description>
If the string is a valid file path, returns the base directory name.
[codeblock]
- var dir_path = "/path/to/file.txt".get_basename() # dir_path is "/path/to"
+ var dir_path = "/path/to/file.txt".get_base_dir() # dir_path is "/path/to"
[/codeblock]
</description>
</method>
diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml
index e3cb6517f3..44d78a46fb 100644
--- a/doc/classes/StringName.xml
+++ b/doc/classes/StringName.xml
@@ -220,7 +220,7 @@
<description>
If the string is a valid file path, returns the base directory name.
[codeblock]
- var dir_path = "/path/to/file.txt".get_basename() # dir_path is "/path/to"
+ var dir_path = "/path/to/file.txt".get_base_dir() # dir_path is "/path/to"
[/codeblock]
</description>
</method>
diff --git a/doc/translations/ar.po b/doc/translations/ar.po
index ae292d4035..751017b573 100644
--- a/doc/translations/ar.po
+++ b/doc/translations/ar.po
@@ -20,13 +20,14 @@
# ywmaa <ywmaa.personal@gmail.com>, 2022.
# TabbyDev <Mandomody25@gmail.com>, 2022.
# عبد الرحمن أبو سعدة ||Abd Alrahman abo saada <abdalrahmanabs2005@gmail.com>, 2022.
+# NEDAL NNEE <ASEL1234543210@gmail.com>, 2022.
+# Abdallah <azzouni2007abd@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-07-23 03:56+0000\n"
-"Last-Translator: عبد الرحمن أبو سعدة ||Abd Alrahman abo saada "
-"<abdalrahmanabs2005@gmail.com>\n"
+"PO-Revision-Date: 2022-11-03 11:48+0000\n"
+"Last-Translator: Abdallah <azzouni2007abd@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ar/>\n"
"Language: ar\n"
@@ -35,7 +36,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -110,10 +111,9 @@ msgid "Getter"
msgstr "جالب"
#: doc/tools/make_rst.py
-#, fuzzy
msgid ""
"This method should typically be overridden by the user to have any effect."
-msgstr "يجب تجاوز هذه الطريقة من المستخدم ليكون لها أي تأثير."
+msgstr "عادة يجب تجاوز هذه الدالة من قبل المستخدم ليكون لها أي تأثير."
#: doc/tools/make_rst.py
msgid ""
@@ -198,7 +198,6 @@ msgstr ""
"أسماء الألوان المدعومة هي Ù†Ùس الثوابت المعرّÙØ© ÙÙŠ [Color]."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the absolute value of parameter [code]s[/code] (i.e. positive "
"value).\n"
@@ -209,7 +208,7 @@ msgstr ""
"لعرض القيمة المطلقة للمÙعامل [code]s[/code] (القيمة المطلقة أي القيمة "
"الموجبة).\n"
"[codeblock]\n"
-"(a = abs(-1 #القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
+"(a = abs(-1 #القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -628,7 +627,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -643,7 +643,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1022,12 +1026,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3645,6 +3653,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4329,8 +4357,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7249,7 +7276,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7434,6 +7464,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7453,9 +7486,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10094,10 +10131,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10629,14 +10665,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10646,22 +10682,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19456,6 +19492,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22290,7 +22334,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33021,7 +33068,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36349,7 +36398,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36599,7 +36651,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37316,6 +37371,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40126,7 +40184,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40642,11 +40702,11 @@ msgstr "ÙŠÙرجع قيمة الجيب العكسية للمَعلم."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40680,11 +40740,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40706,11 +40766,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41688,31 +41748,31 @@ msgstr ""
#: doc/classes/OS.xml
msgid "Sunday."
-msgstr ""
+msgstr "الأحد."
#: doc/classes/OS.xml
msgid "Monday."
-msgstr ""
+msgstr "الإثنين."
#: doc/classes/OS.xml
msgid "Tuesday."
-msgstr ""
+msgstr "الثلاثاء."
#: doc/classes/OS.xml
msgid "Wednesday."
-msgstr ""
+msgstr "الإربعاء."
#: doc/classes/OS.xml
msgid "Thursday."
-msgstr ""
+msgstr "الخميس."
#: doc/classes/OS.xml
msgid "Friday."
-msgstr ""
+msgstr "الجمعة."
#: doc/classes/OS.xml
msgid "Saturday."
-msgstr ""
+msgstr "السبت."
#: doc/classes/OS.xml
msgid "January."
@@ -42573,6 +42633,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50174,15 +50244,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51779,17 +51856,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51798,8 +51886,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54515,7 +54609,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56352,7 +56450,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57730,7 +57830,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57746,7 +57849,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67018,10 +67123,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67032,8 +67142,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67185,7 +67295,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67717,6 +67829,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
@@ -75277,6 +75405,118 @@ msgid ""
"a wider or narrower set of devices and input methods, or to allow more "
"advanced interactions with more advanced devices."
msgstr ""
+"WebXR هو معيار Ù…Ùتوح يسمح بإنشاء تطبيقات VR Ùˆ AR تعمل ÙÙŠ متصÙØ­ الويب.\n"
+"على هذا النحو ØŒ لا تتوÙر هذه الواجهة إلا عند التشغيل ÙÙŠ تصدير HTML5.\n"
+"يدعم WebXR مجموعة واسعة من الأجهزة ، من الأجهزة ذات القدرات العالية (مثل "
+"Valve Index و HTC Vive و Oculus Rift و Quest) وصولاً إلى الأجهزة الأقل قدرة "
+"(مثل Google Cardboard أو Oculus Go أو GearVR أو الهوات٠الذكية العادية).\n"
+"نظرًا لأن WebXR يعتمد على Javascript ØŒ Ùإنه يستخدم بشكل مكث٠عمليات "
+"الاسترجاعات ، مما يعني أن [WebXRInterface] مضطر لاستخدام الإشارات ، حيث "
+"تستخدم واجهات AR / VR الأخرى وظائ٠تعيد النتيجة على الÙور. هذا يجعل "
+"[WebXRInterface] أكثر تعقيدًا ÙÙŠ التهيئة من واجهات AR / VR الأخرى.\n"
+"إليك الحد الأدنى من الشÙرة المطلوبة لبدء جلسة VR غامرة:\n"
+"[كودبلوك]\n"
+"يمتد المكاني\n"
+"\n"
+"var webxr_interface\n"
+"var vr_supported = خطأ\n"
+"\n"
+"func _ready ():\n"
+" # Ù†Ùترض أن هذه العقدة بها زر عندما كان Ø·Ùلاً.\n"
+" # هذا الزر للمستخدم للمواÙقة على الدخول ÙÙŠ وضع VR الغامر.\n"
+" $ Button.connect (\"pressed\"، self، \"_on_Button_pressed\")\n"
+"\n"
+" webxr_interface = ARVRServer.find_interface (\"WebXR\")\n"
+" إذا كان webxr_interface:\n"
+" # تعيين معرّÙات الزر / المحور القياسي عندما يكون ذلك ممكنًا.\n"
+" webxr_interface.xr_standard_mapping = صحيح\n"
+"\n"
+" # يستخدم WebXR الكثير من عمليات الاسترجاعات غير المتزامنة ، لذلك "
+"نتصل بمختلÙ\n"
+" # إشارات لتلقيها.\n"
+" webxr_interface.connect (\"session_supported\"، self، "
+"\"_webxr_session_supported\")\n"
+" webxr_interface.connect (\"Session_started\" ، self ، "
+"\"_webxr_session_started\")\n"
+" webxr_interface.connect (\"session_ended\"، self، "
+"\"_webxr_session_ended\")\n"
+" webxr_interface.connect (\"session_failed\"، self، "
+"\"_webxr_session_failed\")\n"
+"\n"
+" # يعود هذا على الÙور - طريقة _webxr_session_supported ()\n"
+" # (التي ربطناها بإشارة \"session_supported\" أعلاه) سوÙ\n"
+" # يتم الاتصال بنا ÙÙŠ وقت لاحق لإعلامنا إذا كان مدعومًا أم لا.\n"
+" webxr_interface.is_session_supported (\"الواقع الاÙتراضي الغامر\")\n"
+"\n"
+"func _webxr_session_supported (وضع الجلسة ، مدعوم):\n"
+" إذا كانت Session_mode == 'immersive-vr':\n"
+" vr_supported = مدعوم\n"
+"\n"
+"func _on_Button_pressed ():\n"
+" إذا لم يكن vr_supported:\n"
+" OS.alert (\"متصÙحك لا يدعم VR\")\n"
+" إرجاع\n"
+"\n"
+" # نريد جلسة VR غامرة ، على عكس AR ('غامرة-ar') أو a\n"
+" # عارض 3DoF بسيط (\"عارض\").\n"
+" webxr_interface.session_mode = \"الواقع الاÙتراضي الغامر\"\n"
+" # \"الأرضية المحددة\" عبارة عن مقياس للغرÙØ© ØŒ أما \"الأرضية المحلية\" "
+"Ùهي عبارة عن مكان أو جلوس\n"
+" # تجربة (تضعك على ارتÙاع 1.6 متر Ùوق سطح الأرض إذا كان لديك سماعة رأس "
+"3DoF) ،\n"
+" # ÙÙŠ حين أن \"محلي\" يضعك ÙÙŠ موقع ARVROrigin.\n"
+" # تعني هذه القائمة أنها ستحاول أولاً طلب \"أرضية محدودة\" ، بعد ذلك\n"
+" # الرجوع إلى \"local-floor\" ÙˆÙÙŠ النهاية \"المحلي\" ØŒ إذا لم يكن هناك "
+"شيء آخر\n"
+" # أيد.\n"
+" webxr_interface.requested_reference_space_types = 'bounded-floor، local-"
+"floor، local'\n"
+" # من أجل استخدام \"أرضية محلية\" أو \"أرضية محدودة\" يجب علينا أيضًا\n"
+" # ضع علامة على الميزات كما هو مطلوب أو اختياري.\n"
+" webxr_interface.required_features = \"local-floor\"\n"
+" webxr_interface.optional_features = \"bounded-floor\"\n"
+"\n"
+" # سيعود هذا خطأ إذا لم نتمكن حتى من طلب الجلسة ،\n"
+" # ومع ذلك ØŒ لا يزال من الممكن أن تÙشل بشكل غير متزامن ÙÙŠ وقت لاحق من "
+"العملية ، لذلك نحن\n"
+" # تعر٠Ùقط ما إذا كان قد نجح حقًا أو Ùشل عندما\n"
+" # _webxr_session_started () أو _webxr_session_failed () تسمى.\n"
+" إذا لم يكن webxr_interface.initialize ():\n"
+" OS.alert (\"Ùشل التهيئة\")\n"
+" إرجاع\n"
+"\n"
+"func _webxr_session_started ():\n"
+" $ Button.visible = false\n"
+" # هذا يخبر Godot أن يبدأ التقديم إلى سماعة الرأس.\n"
+" get_viewport (). arvr = صحيح\n"
+" # سيكون هذا هو نوع المساحة المرجعية التي حصلت عليها ÙÙŠ النهاية ØŒ من\n"
+" # أنواع طلبتها أعلاه. هذا Ù…Ùيد إذا كنت تريد اللعبة\n"
+" # العمل بشكل مختل٠قليلاً ÙÙŠ \"الأرضية المحدودة\" مقابل \"الأرضية "
+"المحلية\".\n"
+" طباعة (\"نوع المساحة المرجعية:\" + webxr_interface."
+"reference_space_type)\n"
+"\n"
+"func _webxr_session_ended ():\n"
+" $ Button.visible = صحيح\n"
+" # إذا خرج المستخدم من الوضع المجسم ØŒ Ùإننا نطلب من Godot عرضه على الويب\n"
+" # صÙحة مرة أخرى.\n"
+" get_viewport (). arvr = خطأ\n"
+"\n"
+"func _webxr_session_failed (رسالة):\n"
+" OS.alert (\"Ùشل التهيئة:\" + رسالة)\n"
+"[/ codeblock]\n"
+"هناك عدة طرق للتعامل مع إدخال \"وحدة التحكم\":\n"
+"- استخدام عقد [ARVRController] وإشارات [إشارة ARVRController.button_pressed] "
+"و [إشارة ARVRController.button_release]. هذه هي الطريقة التي يتم بها التعامل "
+"مع وحدات التحكم عادةً ÙÙŠ تطبيقات AR / VR ÙÙŠ Godot ØŒ ومع ذلك ØŒ لن يعمل هذا إلا "
+"مع وحدات تحكم VR المتقدمة مثل Oculus Touch أو أجهزة التحكم ÙÙŠ الÙهرس ØŒ على "
+"سبيل المثال. يتم تحديد رموز الأزرار بواسطة [url = https: //immersive-web."
+"github.io/webxr-gamepads-module/#xr-standard-gamepad-mapping] القسم 3.3 من "
+"وحدة WebXR Gamepads Module [/ url].\n"
+"- استخدام [method Node._unhandled_input] و [InputEventJoypadButton] أو "
+"[InputEventJoypadMotion]. يعمل هذا بنÙس طريقة عمل لوحات التحكم العادية ØŒ "
+"باستثناء أن [العضو InputEvent.device] يبدأ عند 100 ØŒ لذا Ùإن وحدة التحكم "
+"اليسرى هي 100 ومÙتاح التحكم الأيمن."
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "How to make a VR game for WebXR with Godot"
diff --git a/doc/translations/ca.po b/doc/translations/ca.po
index ff63e7f808..1552c15271 100644
--- a/doc/translations/ca.po
+++ b/doc/translations/ca.po
@@ -588,7 +588,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -603,7 +604,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -976,12 +981,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3592,6 +3601,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4276,8 +4305,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7194,7 +7222,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7379,6 +7410,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7398,9 +7432,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10038,10 +10076,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10573,14 +10610,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10590,22 +10627,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19385,6 +19422,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22217,7 +22262,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32932,7 +32980,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36230,7 +36280,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36478,7 +36531,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37188,6 +37244,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39994,7 +40053,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40505,11 +40566,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40543,11 +40604,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40569,11 +40630,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42420,6 +42481,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50012,15 +50083,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51616,17 +51694,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51635,8 +51724,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54351,7 +54446,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56188,7 +56287,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57566,7 +57667,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57582,7 +57686,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66819,10 +66925,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66833,8 +66944,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66986,7 +67097,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67518,6 +67631,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot
index 6ee35f0a74..40ab5e3413 100644
--- a/doc/translations/classes.pot
+++ b/doc/translations/classes.pot
@@ -468,7 +468,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -483,7 +484,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -856,12 +861,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3472,6 +3481,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4156,8 +4185,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7074,7 +7102,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7259,6 +7290,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7278,9 +7312,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9918,10 +9956,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10453,14 +10490,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10470,22 +10507,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19265,6 +19302,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22097,7 +22142,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32809,7 +32857,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36107,7 +36157,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36355,7 +36408,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37065,6 +37121,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39871,7 +39930,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40382,11 +40443,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40420,11 +40481,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40446,11 +40507,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42297,6 +42358,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49889,15 +49960,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51493,17 +51571,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51512,8 +51601,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54228,7 +54323,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56065,7 +56164,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57443,7 +57544,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57459,7 +57563,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66696,10 +66802,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66710,8 +66821,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66863,7 +66974,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67395,6 +67508,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/cs.po b/doc/translations/cs.po
index 92e3272798..1bd920e19b 100644
--- a/doc/translations/cs.po
+++ b/doc/translations/cs.po
@@ -15,12 +15,13 @@
# Tomas Dostal <tomas.dostal.cz@gmail.com>, 2021.
# JoeMoos <josephmoose13@gmail.com>, 2022.
# Mirinek <mirek.nozicka77@gmail.com>, 2022.
+# Dominik Strnad <domi.str@seznam.cz>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-28 00:17+0000\n"
-"Last-Translator: Mirinek <mirek.nozicka77@gmail.com>\n"
+"PO-Revision-Date: 2022-11-13 03:28+0000\n"
+"Last-Translator: Dominik Strnad <domi.str@seznam.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot-"
"class-reference/cs/>\n"
"Language: cs\n"
@@ -28,7 +29,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -682,8 +683,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -698,7 +701,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Vrátí pole slovníků, které reprezentují aktuální zásobník volání.\n"
"[codeblock]\n"
@@ -1248,12 +1255,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3974,6 +3985,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4303,7 +4334,7 @@ msgstr "Vektorová matematika"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
msgid "Advanced vector math"
-msgstr ""
+msgstr "PokroÄilá vektorová matematika"
#: doc/classes/AABB.xml
msgid "Constructs an [AABB] from a position and size."
@@ -4658,8 +4689,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7580,7 +7610,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7765,6 +7798,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7784,9 +7820,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10431,12 +10471,14 @@ msgid "Clears the audio sample data buffer."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"Vrací [code]true[/code] pokud si jsou [code]a[/code] a [code]b[/code] "
+"přiblížně rovny."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -10967,14 +11009,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10984,22 +11026,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19828,6 +19870,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22664,7 +22714,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33412,7 +33465,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36744,7 +36799,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36996,7 +37054,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37716,6 +37777,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40529,7 +40593,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -41046,11 +41112,11 @@ msgstr "Vrátí tangens parametru."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41084,11 +41150,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41110,11 +41176,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42984,6 +43050,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50590,15 +50666,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52199,17 +52282,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52218,8 +52312,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54939,7 +55039,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56777,7 +56881,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58155,7 +58261,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58171,7 +58280,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67523,10 +67634,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67537,8 +67653,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67692,7 +67808,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68224,6 +68342,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/de.po b/doc/translations/de.po
index 0da2ce9bc1..1533aa651d 100644
--- a/doc/translations/de.po
+++ b/doc/translations/de.po
@@ -53,12 +53,14 @@
# Felix Bitsch <felix.a.bitsch@gmail.com>, 2022.
# Coxcopi <master.vogel2015@gmail.com>, 2022.
# Harusakii <spieleok@gmail.com>, 2022.
+# GadMas <c.vavra@web.de>, 2022.
+# JodliDev <jodlidev@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-12 01:18+0000\n"
-"Last-Translator: Harusakii <spieleok@gmail.com>\n"
+"PO-Revision-Date: 2022-11-10 23:27+0000\n"
+"Last-Translator: JodliDev <jodlidev@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/de/>\n"
"Language: de\n"
@@ -66,7 +68,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 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -596,7 +598,6 @@ msgstr ""
"zurück in eine Instanz. Nützlich für die Deserialisierung."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an \"eased\" value of [code]x[/code] based on an easing function "
"defined with [code]curve[/code]. This easing function is based on an "
@@ -616,23 +617,24 @@ msgid ""
"See also [method smoothstep]. If you need to perform more advanced "
"transitions, use [Tween] or [AnimationPlayer]."
msgstr ""
-"Gibt einen interpolierten Wert von [code]x[/code] basiert auf einer Funktion "
-"die durch [code]curve[/code] definiert wird. Die Funktion basiert auf einem "
-"Exponent. Die [code]curve[/code] kann jegliche Gleitkommazahl sein, von "
-"welchen diese spezifische Werte zu folgendem Verhalten führen:\n"
+"Gibt einen interpolierten Wert von [code]x[/code] basierend auf einer "
+"Ãœbergangsfunktion die durch [code]curve[/code] definiert wird. Diese "
+"Ãœbergangsfunktion basiert auf einem Exponenten. Die [code]curve[/code] kann "
+"eine beliebige Fließkommazahl sein, wobei bestimmte Werte zu folgendem "
+"Verhalten führen:\n"
"[codeblock]\n"
-"- Weniger als -1.0 (exclusiv): Beschleunige in-out\n"
+"- Weniger als -1.0 (exklusiv): Ease in-out\n"
"- 1.0: Linear\n"
-"- Zwischen -1.0 und 0.0 (exclusiv): Beschleunige out-in\n"
+"- Zwischen -1.0 und 0.0 (exklusiv): Ease out-in\n"
"- 0.0: Konstant\n"
-"- Zwischen 0.0 und 1.0 (exclusiv): Beschleunige in\n"
+"- Zwischen 0.0 und 1.0 (exklusiv): Ease in\n"
"- 1.0: Linear\n"
-"- Mehr als 1.0 (exclusive): Beschleunige out\n"
+"- Mehr als 1.0 (exklusive): Beschleunige out\n"
"[/codeblock]\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
"ease_cheatsheet.png]ease() curve values cheatsheet[/url]\n"
-"Siehe auch [method smoothstep]. Falls du fortgeschrittene Übergänge "
-"erstellen möchtest, benutze [Tween] oder [AnimationPlayer]."
+"Siehe auch [method smoothstep]. Wenn du noch komplexere Übergänge erstellen "
+"möchtest, benutze [Tween] oder [AnimationPlayer]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -762,8 +764,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -778,7 +782,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Gibt ein Array von Wörterbüchern zurück, das den aktuellen Aufrufstapel "
"darstellt.\n"
@@ -864,7 +872,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an interpolation or extrapolation factor considering the range "
"specified in [code]from[/code] and [code]to[/code], and the interpolated "
@@ -887,24 +894,25 @@ msgid ""
"See also [method lerp] which performs the reverse of this operation, and "
"[method range_lerp] to map a continuous series of values to another."
msgstr ""
-"Gibt zurück einen Inter- bzw. Extrapolationsfaktor unter Berücksichtigung "
-"des Zahlenraums von [code]from[/code] bis [code]to[/code], und dem "
-"interpolierten Wert in [code]weight[/code]. Der Rückgabewert liegt zwischen "
-"[code]0.0[/code] und [code]1.0[/code] wenn [code]weight[/code] zwischen "
-"[code]from[/code] und [code]to[/code] (einschließlich). Liegt [code]weight[/"
-"code] außerhalb dieses Bereichs, wird ein Extrapolationsfaktor zurückgegeben "
-"(Rückgabewert kleiner als [code]0.0[/code] oder größer als [code]1.0[/"
-"code]).\n"
+"Gibt einen Inter- bzw. Extrapolationsfaktor unter Berücksichtigung des "
+"Zahlenraums von [code]from[/code] bis [code]to[/code], und dem "
+"interpolierten Wert in [code]weight[/code] zurück. Der Rückgabewert liegt "
+"zwischen [code]0.0[/code] und [code]1.0[/code] wenn [code]weight[/code] "
+"zwischen [code]from[/code] und [code]to[/code] (einschließlich). Liegt "
+"[code]weight[/code] außerhalb dieses Bereichs, wird ein Extrapolationsfaktor "
+"zurückgegeben (Rückgabewert kleiner als [code]0.0[/code] oder größer als "
+"[code]1.0[/code]).\n"
"[codeblock]\n"
-"# Die Interpolationsratio im `lerp()`-Aufruf unten beträgt 0.75.\n"
+"# Der Interpolationsfaktor im `lerp()`-Aufruf unten beträgt 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
"# `middle` beträgt nun 27.5.\n"
-"# Angenommen, die ursprüngliche Ratio ist nun nicht mehr bekannt und soll "
-"zurückerrechnet werden.\n"
+"# Angenommen, der ursprüngliche Faktor ist nun nicht mehr bekannt und soll "
+"zurück errechnet werden.\n"
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` beträgt nun 0.75.\n"
"[/codeblock]\n"
-"Siehe auch [method lerp] für die Umkehrung dieser Funktion."
+"Siehe auch [method lerp] für die Umkehrung dieser Funktion und [method "
+"range_lerp] um Zahlenbereiche aufeinander abzubilden."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -976,7 +984,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
@@ -999,12 +1006,13 @@ msgid ""
"continuous series of values to another."
msgstr ""
"Interpoliert linear zwischen zwei Werten mit dem in [code]weight[/code] "
-"definierten Faktor. Um eine Interpolation durchzuführen, sollte "
-"[code]Gewicht[/code] zwischen [code]0.0[/code] und [code]1.0[/code] "
-"(einschließlich) liegen. Werte außerhalb dieses Bereichs sind jedoch "
-"zulässig und können verwendet werden, um [i]Extrapolation[/i] "
-"durchzuführen.\n"
-"Wenn die Argumente [code]von[/code] und [code]bis[/code] vom Typ [int] oder "
+"definierten Faktor. Um eine Interpolation durchzuführen, sollte [code]weigh[/"
+"code] zwischen [code]0.0[/code] und [code]1.0[/code] (einschließlich) "
+"liegen. Werte außerhalb dieses Bereichs sind jedoch zulässig und können "
+"verwendet werden, um [i]Extrapolation[/i] durchzuführen. Falls dies nicht "
+"gewünscht ist, kann [method clamp] auf dem Ergebnis von [method lerp] "
+"angewendet werden.\n"
+"Wenn die Argumente [code]from[/code] und [code]to[/code] vom Typ [int] oder "
"[float] sind, ist der Rückgabewert ein [float].\n"
"Wenn beide vom gleichen Vektortyp sind ([Vector2], [Vector3] oder [Color]), "
"ist der Rückgabewert vom gleichen Typ ([code]lerp[/code] ruft dann die "
@@ -1013,9 +1021,10 @@ msgstr ""
"lerp(0, 4, 0.75) # Gibt 3.0 zurück\n"
"lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Liefert Vector2(2, 3.5)\n"
"[/codeblock]\n"
-"Siehe auch [method inverse_lerp], die die Umkehrung dieser Operation "
-"durchführt. Um eine Interpolation mit [method lerp] durchzuführen, "
-"kombiniere sie mit [method ease] oder [method smoothstep]."
+"Siehe auch [method inverse_lerp], welche die Umkehrung dieser Operation "
+"durchführt. Um eine \"eased Interpolation\" mit [method lerp] durchzuführen, "
+"kombiniere sie mit [method ease] oder [method smoothstep]. Siehe auch "
+"[method range_lerp] um eine Serie von Werten ineinander abzubilden."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -1346,7 +1355,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the result of [code]base[/code] raised to the power of [code]exp[/"
"code].\n"
@@ -1356,7 +1364,7 @@ msgid ""
msgstr ""
"Liefert das Ergebnis von [code]x[/code] hoch [code]y[/code].\n"
"[codeblock]\n"
-"pow(2, 5) # liefert 32\n"
+"pow(2, 5) # liefert 32.0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1433,19 +1441,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Gibt einen Stacktrace zum Quelltextort aus, funktioniert nur wenn das "
-"\"Ausführen mit Debugger\" aktiviert ist.\n"
-"Die Ausgabe in der Konsole würde ungefähr so aussehen:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4656,6 +4662,26 @@ msgstr ""
"wurde."
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
"Die Eigenschaft wird serialisiert und in der Szenendatei gespeichert "
@@ -5519,8 +5545,7 @@ msgstr "2D Sprite Animation"
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr "2D „Dodge The Creeps“ Demo"
@@ -9635,6 +9660,7 @@ msgstr ""
"neu indiziert werden müssen."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Assigns the given value to all elements in the array. This can typically be "
"used together with [method resize] to create an array with a given size and "
@@ -9643,7 +9669,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
"Weist allen Elementen des Arrays den angegebenen Wert zu. Dies kann "
"normalerweise zusammen mit [method resize] verwendet werden, um ein Array "
@@ -9935,8 +9964,12 @@ msgstr ""
"beschreibt."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -9958,6 +9991,7 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array using a custom method. The arguments are an object that "
"holds the method and the name of such method. The custom method receives two "
@@ -9966,9 +10000,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -13374,12 +13412,14 @@ msgid "Clears the audio sample data buffer."
msgstr "Enthält die Audio Daten in Bytes."
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"Gibt [code]true[/code] zurück wenn Einstellung welche durch [code]name[/"
+"code]angegeben ist, existiert, ansonsten [code]false[/code]."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -13914,14 +13954,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -13931,22 +13971,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -22941,6 +22981,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -25784,7 +25832,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -36673,7 +36724,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -40028,7 +40081,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -40284,7 +40340,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -41016,6 +41075,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -43838,7 +43900,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -44358,11 +44422,11 @@ msgstr "Gibt das AnimationNode mit dem gegebenen Namen zurück."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -44396,11 +44460,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -44422,11 +44486,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -46320,6 +46384,17 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+#, fuzzy
+msgid "2D Particles Demo"
+msgstr "2D Platformer Demo"
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -53998,15 +54073,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -55641,17 +55723,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -55660,8 +55753,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -58401,7 +58500,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -60251,7 +60354,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -61650,7 +61755,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -61666,7 +61774,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -71268,10 +71378,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -71282,8 +71397,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -71442,7 +71557,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -71985,6 +72102,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/el.po b/doc/translations/el.po
index 2044a45e60..13c4fbfe68 100644
--- a/doc/translations/el.po
+++ b/doc/translations/el.po
@@ -483,7 +483,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -498,7 +499,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -871,12 +876,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3487,6 +3496,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4171,8 +4200,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7091,7 +7119,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7276,6 +7307,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7295,9 +7329,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9936,10 +9974,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10471,14 +10508,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10488,22 +10525,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19299,6 +19336,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22133,7 +22178,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32864,7 +32912,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36186,7 +36236,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36436,7 +36489,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37153,6 +37209,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39963,7 +40022,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40479,11 +40540,11 @@ msgstr "ΕπιστÏέφει το τόξο ημιτόνου της παÏαμέÏ
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40517,11 +40578,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40543,11 +40604,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42397,6 +42458,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49998,15 +50069,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51603,17 +51681,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51622,8 +51711,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54339,7 +54434,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56176,7 +56275,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57554,7 +57655,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57570,7 +57674,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66842,10 +66948,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66856,8 +66967,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67009,7 +67120,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67541,6 +67654,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/es.po b/doc/translations/es.po
index 12a03991b8..8ed223238d 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -37,12 +37,14 @@
# emnrx <emanuelermancia@gmail.com>, 2022.
# BlackNoizE404 <blacknoize404@gmail.com>, 2022.
# Keyla Arroyos <keylaarroyos@protonmail.com>, 2022.
+# Victor Stancioiu <victorstancioiu@gmail.com>, 2022.
+# yohanger <yohangerariel@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-26 05:24+0000\n"
-"Last-Translator: Keyla Arroyos <keylaarroyos@protonmail.com>\n"
+"PO-Revision-Date: 2022-11-29 20:23+0000\n"
+"Last-Translator: yohanger <yohangerariel@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -50,7 +52,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 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -749,8 +751,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -765,7 +769,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Devuelve un conjunto de diccionarios que representan la pila de llamadas "
"actual.\n"
@@ -852,7 +860,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an interpolation or extrapolation factor considering the range "
"specified in [code]from[/code] and [code]to[/code], and the interpolated "
@@ -886,7 +893,7 @@ msgstr ""
"# La razón de interpolación en la llamada a `lerp()` de más abajo es 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
"# `middle` ahora es 27.5.\n"
-"# Ahora, suponemos haber olvidado la razón original y queremos obtererla de "
+"# Ahora, suponemos haber olvidado la razón original y queremos obtenerla de "
"vuelta.\n"
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` ahora es 0.75.\n"
@@ -1382,7 +1389,6 @@ msgstr ""
"mientras muestra un trazo de cuando un error o advertencia se muestra."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Like [method print], but includes the current stack frame when running with "
"the debugger turned on.\n"
@@ -1392,7 +1398,7 @@ msgid ""
" At: res://test.gd:15:_process()\n"
"[/codeblock]"
msgstr ""
-"Imprime una registro de la pila en la ubicación del código, sólo funciona "
+"Imprime una registro de la pila en la ubicación del código, solo funciona "
"cuando se ejecuta con el depurador activado.\n"
"La salida en la consola se vería algo así:\n"
"[codeblock]\n"
@@ -1401,19 +1407,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Imprime una registro de la pila en la ubicación del código, sólo funciona "
-"cuando se ejecuta con el depurador activado.\n"
-"La salida en la consola se vería algo así:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1533,7 +1537,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns a random floating point value between [code]from[/code] and "
"[code]to[/code] (both endpoints inclusive).\n"
@@ -1542,10 +1545,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
msgstr ""
-"Rango aleatorio de cualquier numero real entre [code]from[/code] y [code]to[/"
+"Rango aleatorio de cualquier número real entre [code]from[/code] y [code]to[/"
"code].\n"
"[codeblock]\n"
-"prints(rand_range(0, 1), rand_range(0, 1)) # Imprime dos numeros aleatorios\n"
+"prints(rand_range(0, 1), rand_range(0, 1)) # Imprime dos números aleatorios\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4570,6 +4573,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr "Sugiere que una imagen se comprime usando una compresión sin pérdidas."
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
"La propiedad se serializa y se guarda en el archivo de la escena (por "
@@ -5406,8 +5429,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -9212,7 +9234,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -9448,8 +9473,12 @@ msgstr ""
"cambio entre indices mientras se trocean."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -9480,9 +9509,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -13080,12 +13113,14 @@ msgid "Clears the audio sample data buffer."
msgstr "Contiene los datos de audio en bytes."
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"Devuelve [code]true[/code] si el [code]layer[/code] dado en el [member "
+"cull_mask] está activado, [code]false[/code] en caso contrario."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -13699,14 +13734,14 @@ msgstr ""
#, fuzzy
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
"Nodo para hacer un back-buffer en la pantalla que se muestra actualmente. La "
@@ -13725,27 +13760,31 @@ msgid "Buffer mode. See [enum CopyMode] constants."
msgstr "Modo de búfer. Ver las constantes de [enum CopyMode]."
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
"El área cubierta por el BackBufferCopy. Sólo se usa si [member copy_mode] es "
"[constant COPY_MODE_RECT]."
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
"Deshabilita el modo de almacenamiento intermedio. Esto significa que el nodo "
"BackBufferCopy utilizará directamente la parte de la pantalla que cubre."
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+#, fuzzy
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr "BackBufferCopy almacena una región rectangular."
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+#, fuzzy
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr "BackBufferCopy almacena toda la pantalla."
#: doc/classes/BakedLightmap.xml
@@ -25237,6 +25276,14 @@ msgid "Cylinder shape for collisions."
msgstr "Forma de cilindro para colisiones."
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "La altura del cilindro."
@@ -29140,7 +29187,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
"Los scripts que extienden esta clase e implementan su método [method _run] "
"pueden ser ejecutados desde la opción de menú [b]File > Run[/b] del editor "
@@ -43439,7 +43489,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
"El tamaño de la luz en unidades Godot. Sólo disponible para [OmniLight] y "
"[SpotLight]. Aumentar este valor hará que la luz se desvanezca más "
@@ -47664,7 +47716,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -47924,7 +47979,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -48736,6 +48794,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -50988,7 +51049,6 @@ msgstr ""
"será renombrado automáticamente."
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"The node owner. A node can have any other node as owner (as long as it is a "
"valid parent, grandparent, etc. ascending in the tree). When saving a node "
@@ -51016,7 +51076,7 @@ msgstr ""
"ejemplo:\n"
"[codeblock]\n"
"if child_node.get_parent():\n"
-" child_node.get_parent().remove_child(child_node)\n"
+" child_node.get_parent().remove_child(child_node)\n"
"add_child(child_node)\n"
"[/codeblock]\n"
"Si necesita que el nodo hijo se añada debajo de un nodo específico en la "
@@ -52769,11 +52829,14 @@ msgstr ""
"curva."
#: doc/classes/OmniLight.xml
+#, fuzzy
msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
"El radio de la luz. Tenga en cuenta que el área efectivamente iluminada "
"puede parecer más pequeña dependiendo del [member omni_attenuation] en uso. "
@@ -53445,11 +53508,11 @@ msgstr "Devuelve el vértice en un índice determinado."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -53505,11 +53568,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -53538,11 +53601,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -55970,6 +56033,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
"Devuelve un rectángulo que contiene las posiciones de todas las partículas "
@@ -65727,15 +65800,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -67818,36 +67898,45 @@ msgstr "Devuelve si este objeto tiene asignado un patrón de búsqueda válido."
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
-"Busca en el texto el patrón compilado. Devuelve un contenedor [RegExMatch] "
-"del primer resultado coincidente si se encuentra, de lo contrario "
-"[code]null[/code]. La región en la que se debe buscar puede especificarse "
-"sin modificar el lugar en el que se encuentra el anclaje de inicio y fin."
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
-"Busca en el texto el patrón compilado. Devuelve un array de contenedores "
-"[RegExMatch] para cada resultado no superpuesto. Si no se encuentran "
-"resultados, se devuelve un array vacío. La región en la que se debe buscar "
-"puede ser especificada sin modificar el lugar donde se encuentran el ancla "
-"de inicio y el ancla de fin."
#: modules/regex/doc_classes/RegEx.xml
+#, fuzzy
msgid ""
"Searches the text for the compiled pattern and replaces it with the "
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
"Busca en el texto el patrón compilado y lo reemplaza con la string "
"especificada. Escapadas y retro-referencias como [code]$1[/code] y "
@@ -71417,9 +71506,12 @@ msgstr ""
"reposo)."
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
-"Llama a un grupo sólo una vez aunque la llamada se ejecute muchas veces."
#: doc/classes/SceneTree.xml
#, fuzzy
@@ -73637,7 +73729,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -75379,8 +75473,11 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
-msgstr "El ángulo del foco en grados."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
+msgstr ""
#: doc/classes/SpotLight.xml
msgid "The spotlight's angular attenuation curve."
@@ -75391,11 +75488,14 @@ msgid "The spotlight's light energy attenuation curve."
msgstr "La curva de atenuación de la energía de la luz del foco."
#: doc/classes/SpotLight.xml
+#, fuzzy
msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
"El máximo rango que puede ser alcanzado por el foco. Tenga en cuenta que el "
"área efectivamente iluminada puede parecer más pequeña dependiendo del "
@@ -87445,10 +87545,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -87462,8 +87567,8 @@ msgstr ""
#: doc/classes/Viewport.xml
#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
"Si [code]true[/code], la etiqueta subraya las metaetiquetas como [code][url]"
"{text}[/url][/code]."
@@ -87654,7 +87759,9 @@ msgstr "Si [code]true[/code], el viewport debería hacer su fondo transparente."
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -88350,6 +88457,22 @@ msgstr ""
"Este objeto sólo será visible para [Camera] cuya máscara de selección "
"incluya el objeto renderizado que este [VisualInstance] tiene configurado."
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr "Un script implementado en el entorno de programación de Visual Script."
diff --git a/doc/translations/et.po b/doc/translations/et.po
index 40bf471522..7f92671d8f 100644
--- a/doc/translations/et.po
+++ b/doc/translations/et.po
@@ -481,7 +481,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -496,7 +497,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -869,12 +874,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3485,6 +3494,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4169,8 +4198,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7087,7 +7115,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7272,6 +7303,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7291,9 +7325,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9931,10 +9969,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10466,14 +10503,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10483,22 +10520,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19278,6 +19315,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22110,7 +22155,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32822,7 +32870,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36120,7 +36170,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36368,7 +36421,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37078,6 +37134,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39884,7 +39943,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40395,11 +40456,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40433,11 +40494,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40459,11 +40520,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42310,6 +42371,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49902,15 +49973,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51506,17 +51584,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51525,8 +51614,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54241,7 +54336,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56078,7 +56177,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57456,7 +57557,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57472,7 +57576,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66709,10 +66815,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66723,8 +66834,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66876,7 +66987,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67408,6 +67521,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/fa.po b/doc/translations/fa.po
index 31077d1e54..787c7ff937 100644
--- a/doc/translations/fa.po
+++ b/doc/translations/fa.po
@@ -698,8 +698,10 @@ msgstr ""
"[/ codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -714,7 +716,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"آرایه ای از Ùرهنگ لغت ها را نشان Ù…ÛŒ دهد Ú©Ù‡ پشته تماس Ùعلی را نشان Ù…ÛŒ دهد.\n"
"[codeblock]\n"
@@ -1292,12 +1298,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3920,6 +3930,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4604,8 +4634,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7522,7 +7551,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7707,6 +7739,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7726,9 +7761,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10366,10 +10405,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10901,14 +10939,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10918,22 +10956,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19713,6 +19751,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22545,7 +22591,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33260,7 +33309,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36564,7 +36615,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36812,7 +36866,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37522,6 +37579,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40328,7 +40388,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40839,11 +40901,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40877,11 +40939,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40903,11 +40965,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42766,6 +42828,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50358,15 +50430,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51966,17 +52045,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51985,8 +52075,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54701,7 +54797,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56538,7 +56638,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57916,7 +58018,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57932,7 +58037,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67169,10 +67276,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67183,8 +67295,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67336,7 +67448,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67868,6 +67982,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/fi.po b/doc/translations/fi.po
index 811d77f710..fc517a6ff5 100644
--- a/doc/translations/fi.po
+++ b/doc/translations/fi.po
@@ -550,7 +550,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -565,7 +566,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -938,12 +943,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3554,6 +3563,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4238,8 +4267,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7164,7 +7192,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7349,6 +7380,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7368,9 +7402,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10009,10 +10047,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10544,14 +10581,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10561,22 +10598,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19375,6 +19412,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22209,7 +22254,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32948,7 +32996,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36271,7 +36321,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36521,7 +36574,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37238,6 +37294,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40048,7 +40107,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40564,11 +40625,11 @@ msgstr "Palauttaa kahden vektorin jäännöksen."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40602,11 +40663,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40628,11 +40689,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42482,6 +42543,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50083,15 +50154,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51688,17 +51766,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51707,8 +51796,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54424,7 +54519,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56262,7 +56361,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57640,7 +57741,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57656,7 +57760,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66944,10 +67050,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66958,8 +67069,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67111,7 +67222,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67643,6 +67756,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/fil.po b/doc/translations/fil.po
index 2bbab40941..749fea9ef9 100644
--- a/doc/translations/fil.po
+++ b/doc/translations/fil.po
@@ -484,7 +484,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -499,7 +500,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -872,12 +877,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3488,6 +3497,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4172,8 +4201,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7090,7 +7118,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7275,6 +7306,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7294,9 +7328,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9934,10 +9972,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10469,14 +10506,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10486,22 +10523,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19281,6 +19318,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22113,7 +22158,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32828,7 +32876,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36126,7 +36176,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36374,7 +36427,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37084,6 +37140,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39890,7 +39949,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40401,11 +40462,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40439,11 +40500,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40465,11 +40526,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42316,6 +42377,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49908,15 +49979,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51512,17 +51590,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51531,8 +51620,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54247,7 +54342,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56084,7 +56183,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57462,7 +57563,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57478,7 +57582,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66715,10 +66821,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66729,8 +66840,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66882,7 +66993,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67414,6 +67527,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index e22ff9db67..2898e9ec19 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -56,13 +56,17 @@
# KikooDX <kikoodx@paranoici.org>, 2022.
# Kevin Bouancheau <kevin.bouancheau@gmail.com>, 2022.
# Maxim Lopez <maxim.lopez.02@gmail.com>, 2022.
+# Philippe Lamare <ph.lamare@free.fr>, 2022.
+# Augustin Ambiehl <ambiehlaugustin@gmail.com>, 2022.
+# Landry Simo <landrysimo99@gmail.com>, 2022.
+# Alexis Coudert <coudert.alex@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-08-19 12:56+0000\n"
-"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
+"PO-Revision-Date: 2022-12-03 00:47+0000\n"
+"Last-Translator: Alexis Coudert <coudert.alex@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
"Language: fr\n"
@@ -70,7 +74,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -133,6 +137,7 @@ msgid "Default"
msgstr "Défaut"
#: doc/tools/make_rst.py
+#, fuzzy
msgid "Setter"
msgstr "Setter"
@@ -774,8 +779,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -790,7 +797,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Renvoie un tableau de dictionnaires représentant la pile d'appels en cours.\n"
"[codeblock]\n"
@@ -876,7 +887,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an interpolation or extrapolation factor considering the range "
"specified in [code]from[/code] and [code]to[/code], and the interpolated "
@@ -899,24 +909,26 @@ msgid ""
"See also [method lerp] which performs the reverse of this operation, and "
"[method range_lerp] to map a continuous series of values to another."
msgstr ""
-"Retourne le facteur d'interpolation ou d'extrapolation suivant l'intervalle "
-"spécifié dans [code]from[/code] et [code]to[/code], et la valeur interpolée "
-"spécifiée par [code]weight[/code]. La valeur retournée sera entre [code]0.0[/"
-"code] et [code]1.0[/code] si [code]weight[/code] est entre [code]from[/code] "
-"et [code]to[/code] (inclus). Si [code]weight[/code] est en dehors de cet "
+"Retourne un facteur d'interpolation ou d'extrapolation suivant l'intervalle "
+"spécifié dans [code]de[/code] et [code]à[/code], et la valeur interpolée "
+"spécifiée par [code]poids[/code]. La valeur retournée sera entre [code]0.0[/"
+"code] et [code]1.0[/code] si [code]poids[/code] est entre [code]de[/code] et "
+"[code]à[/code] (inclus). Si [code]poids[/code] se trouve en dehors de cet "
"intervalle, un facteur d'extrapolation sera retourné (une valeur inférieure "
-"à [code]0.0[/code] ou supérieure à [code]1.0[/code]).\n"
+"à [code]0.0[/code] ou supérieure à [code]1.0[/code]). Utilisez [method "
+"clamp] sur le resultat de [method inverse_lerp] si cela n'est pas souhaité.\n"
"[codeblock]\n"
-"# Le facteur d'interpolation de cet appel à `lerp()` ci-dessous est le "
+"# Le facteur d'interpolation de cet appel à `lerp()` ci-dessous est de "
"0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
-"# `middle` est maintenant 27.5.\n"
-"# Maintenant, on fait comme si on avait oublié le facteur d'interpolation "
-"original et qu'on veut le calculer.\n"
+"# `middle` vaut maintenant 27.5.\n"
+"# Admettons maintenant que l'on ait oublié le facteur d'interpolation "
+"original et que l'on veut le calculer.\n"
"var ratio = inverse_lerp(20, 30, 27.5)\n"
-"# `ratio` est maintenant 0.75.\n"
+"# `ratio` vaut maintenant 0.75.\n"
"[/codeblock]\n"
-"Voir aussi [method lerp] qui fait l'opération inverse."
+"Voir aussi [method lerp] qui fait l'opération inverse et [method range_lerp] "
+"qui fait correspondre une série de valeurs continues à une autre."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -988,7 +1000,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
@@ -1010,12 +1021,13 @@ msgid ""
"ease] or [method smoothstep]. See also [method range_lerp] to map a "
"continuous series of values to another."
msgstr ""
-"L'interpolation linéaire entre deux valeurs avec un facteur défini par "
-"[code]weight[/code]. Pour faire une interpolation, [code]weight[/code] doit "
-"être entre [code]0.0[/code] et [code]1.0[/code] (inclus). Pour autant, des "
-"valeurs en dehors de cet intervalle sont autorisés pour faire une "
-"[i]extrapolation[/i].\n"
-"Si les arguments [code]from[/code] et [code]to[/code] sont de type [int] ou "
+"Effectue une interpolation linéaire entre deux valeurs par un facteur défini "
+"dans [code]poids[/code]. Pour effectuer l'interpolation, [code]poids[/code] "
+"se situer entre [code]0.0[/code] et [code]1.0[/code] (inclus). Pour autant, "
+"des valeurs en dehors de cet intervalle sont autorisés pour effectuer une "
+"[i]extrapolation[/i]. Utilisez [method clamp] sur le résultat de [method "
+"lerp] si cela n'est pas souhaité.\n"
+"Si les arguments [code]de[/code] et [code]à[/code] sont de type [int] ou "
"[float], la valeur retournée est un [float].\n"
"Si les deux sont du même type de vecteur ([Vector2], [Vector3] ou [Color]), "
"la valeur de retour sera du même type (puisque [code]lerp[/code] appelle "
@@ -1024,9 +1036,10 @@ msgstr ""
"lerp(0, 4, 0.75) # Retourne 3.0\n"
"lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Retourne Vector2(2, 3.5)\n"
"[/codeblock]\n"
-"Voir aussi [method inverse_lerp] qui fait l'opération inverse. Pour fait une "
-"interpolation plus douce avec [method lerp], combinez l'appel avec [method "
-"ease] ou [method smoothstep]."
+"Voir aussi [method inverse_lerp] qui effectue l'opération inverse. Pour "
+"effectuer une interpolation adoucie avec [method lerp], combinez l'appel "
+"avec [method ease] ou [method smoothstep]. Voir aussi [method range_lerp] "
+"pour faire correspondre une série de valeurs continues à une autre."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1448,19 +1461,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Affiche la trace d'appels à l'emplacement du code, ne fonctionne que lorsque "
-"le débogueur est activé.\n"
-"La sortie dans la console ressemblerait à ceci :\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1749,6 +1760,17 @@ msgid ""
"For complex use cases where you need multiple ranges, consider using [Curve] "
"or [Gradient] instead."
msgstr ""
+"Fait correspondre une [code]valeur[/code] de l'intervalle [code][idebut, "
+"ifin][/code] à [code][odebut, ofin][/code]. Voir aussi [method lerp] et "
+"[method inverse_lerp]. Si la [code]valeur[/code] est en dehors de [code]"
+"[idebut, ifin][/code], la valeur résultante sera aussi en dehors de [code]"
+"[odebut, ofin][/code]. Utilisez [method clamp] sur le résultat de [method "
+"range_lerp] si cela n'est pas souhaité.\n"
+"[codeblock]\n"
+"range_lerp(75, 0, 100, -1, 1) # Retourne 0.5\n"
+"[/codeblock]\n"
+"Pour les cas d'utilisation plus complexes avec plusieurs intervalles, "
+"favorisez plutôt [Curve] ou [Gradient]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4162,10 +4184,13 @@ msgid "MIDI stop message. Stop the current sequence."
msgstr "Le message d'arrêt en MIDI. Arrête la séquence actuelle."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI active sensing message. This message is intended to be sent repeatedly "
"to tell the receiver that a connection is alive."
msgstr ""
+"Message de détection d'activité MIDI. Ce message est destiné à être envoyé à "
+"plusieurs reprises pour indiquer au récepteur qu'une connexion est active."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4638,6 +4663,26 @@ msgstr ""
"Indique qu'une image est comprimé en utlisant la compression sans perte."
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
"Le propriété est sérialisé et sauvegardé dans le fichier de la scène(défaut)."
@@ -5489,8 +5534,7 @@ msgstr "Animation Sprite 2D"
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr "Démo 2D « Dodge The Creeps »"
@@ -6427,18 +6471,25 @@ msgid ""
"When inheriting from [AnimationRootNode], implement this virtual method to "
"override the text caption for this node."
msgstr ""
+"Lorsque vous héritez d'[AnimationRootNode], implémentez cette méthode "
+"virtuelle pour remplacer le texte de légende de ce nœud."
#: doc/classes/AnimationNode.xml
msgid ""
"When inheriting from [AnimationRootNode], implement this virtual method to "
"return a child node by its [code]name[/code]."
msgstr ""
+"Lorsque vous héritez d'[AnimationRootNode], implémentez cette méthode "
+"virtuelle pour retourner un nœud enfant par [code]nom[/code]."
#: doc/classes/AnimationNode.xml
msgid ""
"When inheriting from [AnimationRootNode], implement this virtual method to "
"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
+"Lorsque vous héritez d'[AnimationRootNode], implémentez cette méthode "
+"virtuelle pour retourner tous les nœuds enfants en tant que dictionnaire "
+"[code]nom : nœud[/code]."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6462,16 +6513,17 @@ msgstr ""
"réutilisé dans plusieurs arbres de nœuds."
#: doc/classes/AnimationNode.xml
-#, fuzzy
msgid ""
"When inheriting from [AnimationRootNode], implement this virtual method to "
"return the default value of parameter \"[code]name[/code]\". Parameters are "
"custom local memory used for your nodes, given a resource can be reused in "
"multiple trees."
msgstr ""
-"Obtient la valeur par défaut d'un paramètre. Les paramètres sont la mémoire "
-"locale personnalisé utilisé pour vos nœuds, étant donné qu'une ressource "
-"peut être réutilisé dans plusieurs arbres de nœuds."
+"Lors de l'héritage de [AnimationRootNode], implémente cette méthode "
+"virtuelle pour obtenirla valeur par défaut du paramètre \"[code]name[/"
+"code]\". Les paramètres sont de la mémoire locale personnalisée utilisée "
+"pour vos nœuds, étant donné qu'une ressource peut être réutilisée dans "
+"plusieurs arbres."
#: doc/classes/AnimationNode.xml
#, fuzzy
@@ -9430,6 +9482,7 @@ msgstr ""
"les éléments placés après devront tous être décalés."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Assigns the given value to all elements in the array. This can typically be "
"used together with [method resize] to create an array with a given size and "
@@ -9438,7 +9491,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
"Assigne la valeur donnée à tous les éléments du tableau. C'est souvent "
"utilisé avec [method resize] pour créer un tableau d'une taille donnée avec "
@@ -9725,8 +9781,12 @@ msgstr ""
"découpage."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -9749,6 +9809,7 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array using a custom method. The arguments are an object that "
"holds the method and the name of such method. The custom method receives two "
@@ -9757,9 +9818,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9894,13 +9959,23 @@ msgstr ""
"deviendra l'index [code]surf_idx[/code] pour cette nouvelle surface.\n"
"L'argument [code]arrays[/code] est un tableau de tableaux. Voir [enum "
"ArrayType] pour les valeurs utilisées dans ce tableau. Par exemple, "
-"l'argument [code]arrays[/code] est le tableau des sommets. Ce premier sous-"
-"tableau de sommets est nécessaire ; les autres sont facultatifs. L'ajout "
-"d'un tableau d'indices met cette fonction en \"mode index\" où les sommets "
-"et d'autres tableaux deviennent les sources de données et le tableau d'index "
-"définit l'ordre des vertex. Tous les sous-tableau doivent avoir la même "
-"longueur que le tableau des sommets, ou être vides, sauf pour [constant "
-"ARRAY_INDEX] s'il est utilisé."
+"l'argument [code]arrays[0]/code] est le tableau des sommets. Ce premier sous-"
+"tableau de sommets est toujours requis ; les autres sont facultatifs. "
+"L'ajout d'un tableau d'indices met cette fonction en \"mode index\" où les "
+"sommets et d'autres tableaux deviennent les sources de données et le tableau "
+"d'index définit l'ordre des vertex. Tous les sous-tableau doivent avoir la "
+"même longueur que le tableau des sommets, ou être vides, sauf pour [constant "
+"ARRAY_INDEX] s'il est utilisé.\n"
+"[code]compress_flags[/code] est un champ de bits fait de valeurs [enum Mesh."
+"ArrayFormat]. Il prend par défaut la valeur de [constant Mesh."
+"ARRAY_COMPRESS_DEFAULT].\n"
+"[b]Note:[/b] Le [code]compress_flags[/code] par défaut valide [constant Mesh."
+"ARRAY_COMPRESS_COLOR], qui rend les couleurs de sommet stockées sous forme "
+"d'entiers non signés 8 bits. Cela bloquera les couleurs de sommet trop "
+"lumineuses à [code]Color(1, 1, 1, 1)[/code] et réduira leur précision. Pour "
+"stocker des couleurs de sommet HDR, enlever le flag de compression de "
+"couleur de sommet en passant [code]Mesh.ARRAY_COMPRESS_DEFAULT ^ Mesh."
+"ARRAY_COMPRESS_COLOR[/code] comme la valeur de [code]compress_flags[/code]."
#: doc/classes/ArrayMesh.xml
msgid "Removes all blend shapes from this [ArrayMesh]."
@@ -13145,12 +13220,16 @@ msgid ""
"settings."
msgstr ""
"Le nom du périphérique actuel pour l'entrée audio (voir [method "
-"get_device_list)]. Sur les systèmes avec plusieurs entrées audio (comme "
-"l'analogique, l'USB et l'audio par HDMI), cela peut être utilisé pour "
-"sélectionner le périphérique d'entrée pour l'audio. La valeur "
-"[code]\"Defaut\"[/code] enregistrera l'audio sur l'entrée audio par défaut "
-"du système. Si un nom de périphérique invalide est défini, la valeur sera "
-"retournée à [code]\"Defaut\"[/code]."
+"capture_get_device_list]. Sur les systèmes avec plusieurs entrées audio "
+"(comme l'analogique, l'USB et l'audio par HDMI), ceci peut être utilisé pour "
+"sélectionner le périphérique d'entrée audio. La valeur [code]\"Default\"[/"
+"code] enregistrera l'audio sur l'entrée audio par défaut du système. Si un "
+"nom de périphérique invalide est défini, la valeur sera retournée à "
+"[code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] doit être "
+"[code]true[/code] pour que l'entrée audio fonctionne. Voir aussi la "
+"description de ce paramètre pour les avertissements liés aux autorisations "
+"et aux paramètres de confidentialité du système d'exploitation."
#: doc/classes/AudioServer.xml
msgid ""
@@ -13317,16 +13396,10 @@ msgstr "Efface la mémoire tampon des échantillons audio."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
-"Retourne le nombre de frames de données audio restantes à jouer. Si ce "
-"nombre atteint [code]0[/code], l'audio cessera de jouer jusqu'à ce que de "
-"nouvelles frames soient ajoutés. Par conséquent, assurez-vous que votre "
-"script peut toujours générer et pousser de nouveaux frames audio assez "
-"rapidement pour éviter les craquements audio."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -13999,14 +14072,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -14015,23 +14088,28 @@ msgid "Buffer mode. See [enum CopyMode] constants."
msgstr "Le mode de mémoire tampon. Voir les constantes [enum CopyMode]."
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
+"Le type de base à utiliser lorsque [member call_mode] est défini à [constant "
+"CALL_MODE_INSTANCE]."
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+#, fuzzy
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr "BackBufferCopy met en tampon une région rectangulaire."
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+#, fuzzy
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr "BackBufferCopy met en mémoire tampon tout l'écran."
#: doc/classes/BakedLightmap.xml
@@ -16719,17 +16797,20 @@ msgid ""
"antialiasing. 2D batching is also still supported with those antialiased "
"lines."
msgstr ""
-"Dessine des segments de ligne interconnectés avec une [code]width[/code] "
-"uniforme et une coloration segment par segment. Les couleurs attribuées aux "
-"segments de ligne correspondent par index entre [code]points[/code] et "
-"[code]colors[/code].\n"
-"[b]Note :[/b] Le fonctionnement interne peut provoquer des problèmes de "
-"rendu de l'anti-crénelage lors de l'affichage de polygones transparents voir "
-"peut ne pas fonctionner sur certaines plateformes. Pour corriger cela, "
+"Dessine des lignes déconnectées avec une [code]width[/code] uniforme et une "
+"coloration segment par segment. Les couleurs attribuées aux segments de "
+"ligne correspondent par index entre [code]points[/code] et [code]colors[/"
+"code]. Lorsque vous dessinez de grandes quantités de lignes, cela est plus "
+"rapide que d'utiliser des appels individuels[method draw_line]. Pour tracer "
+"des lignes interconnectées, utiliser [method draw_polyline_colors] à la "
+"place.\n"
+"[b]Note :[/b] [code]width[/code] et [code]antialiased[/code] ne sont pas "
+"actuellement implémentés et ne produisent aucun effet. Comme contournement, "
"installez le greffon [url=https://github.com/godot-extended-libraries/godot-"
"antialiased-line2d]Antialiased Line2D[/url] et créez un nœud "
"AntialiasedPolygon2D. Ce nœud utilise une texture avec différents niveaux de "
-"mipmap pour l'anti-crénelage."
+"mipmap pour l'anti-crénelage. Le traitement par lots 2D est également "
+"supporté avec ces lignes anti-crénelage."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -25852,6 +25933,14 @@ msgid "Cylinder shape for collisions."
msgstr "Une forme cylindrique pour les collisions."
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "La hauteur du cylindre."
@@ -30031,6 +30120,7 @@ msgid "Base script that can be used to add extension functions to the editor."
msgstr "Script de base qui permet d'étendre les fonctionnalités de l'éditeur."
#: doc/classes/EditorScript.xml
+#, fuzzy
msgid ""
"Scripts extending this class and implementing its [method _run] method can "
"be executed from the Script Editor's [b]File > Run[/b] menu option (or by "
@@ -30048,7 +30138,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
"Les scripts héritant de cette classe et implémentant la méthode [method "
"_run] peuvent être exécutés depuis l'éditeur de script avec l'option de menu "
@@ -42766,7 +42859,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -47014,6 +47109,7 @@ msgid "3D agent used in navigation for collision avoidance."
msgstr "Un agent 3D utilisé dans les navigations pour esquiver les collisions."
#: doc/classes/NavigationAgent.xml
+#, fuzzy
msgid ""
"3D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -47027,7 +47123,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
"Agent 3D utilisé dans la navigation pour atteindre un emplacement tout en "
"évitant les obstacles statiques et dynamiques. Les obstacles dynamiques sont "
@@ -47386,6 +47485,7 @@ msgid "2D agent used in navigation for collision avoidance."
msgstr "Un agent 2D utilisé en navigation pour éviter les collisions."
#: doc/classes/NavigationAgent2D.xml
+#, fuzzy
msgid ""
"2D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -47399,7 +47499,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
"L'agent 2D utilisé dans la navigation pour atteindre un emplacement tout en "
"évitant les obstacles statiques et dynamiques. Les obstacles dynamiques sont "
@@ -48399,6 +48502,7 @@ msgid "Server interface for low-level 3D navigation access."
msgstr "Interface serveur pour un accès de navigation 3D de bas niveau."
#: doc/classes/NavigationServer.xml
+#, fuzzy
msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
@@ -48419,6 +48523,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -52507,7 +52614,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -53164,11 +53273,11 @@ msgstr "Retourne le nom du pilote audio à l'index donné."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -53202,11 +53311,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -53234,11 +53343,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -55600,6 +55709,17 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+#, fuzzy
+msgid "2D Particles Demo"
+msgstr "Démo 2D isométrique"
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
"Retourne un rectangle contenant la position de toutes les particules "
@@ -64195,15 +64315,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -66153,17 +66280,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -66172,8 +66310,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -69059,9 +69203,12 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr "Appelle un groupe immédiatement (au lieu de le faire durant le repos)."
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
-"Appelle un groupe une seule fois même si l'appel a était fait plusieurs fois."
#: doc/classes/SceneTree.xml
msgid "No stretching."
@@ -69139,8 +69286,8 @@ msgstr ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Minuteur terminé.\")\n"
"[/codeblock]\n"
-"Le minuteur sera automatiquement une fois terminé. Pour garder le minuteur, "
-"vous pouvez maintenir une référence vers lui. Voir [Reference]."
+"Le minuteur sera automatiquement déréférencé une fois terminé. Pour garder "
+"le minuteur, vous pouvez maintenir une référence vers lui. Voir [Reference]."
#: doc/classes/SceneTreeTimer.xml
msgid "The time remaining (in seconds)."
@@ -71188,7 +71335,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -72764,8 +72913,11 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
-msgstr "L’angle du projecteur en degrés."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
+msgstr ""
#: doc/classes/SpotLight.xml
msgid "The spotlight's angular attenuation curve."
@@ -72780,7 +72932,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -74278,7 +74432,7 @@ msgid ""
"[/codeblock]"
msgstr ""
"Échappe (code) une chaine de caractères dans un format compatible avec les "
-"URL. Est aussi référé au 'codage de URL' ('URL encode').\n"
+"URL. Aussi appelé 'encodage d'URL' ('URL encode').\n"
"[codeblock]\n"
"print(\"https://example.org/?escaped=\" + \"Le Moteur Godot:'docs'\"."
"http_escape())\n"
@@ -83997,10 +84151,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -84012,9 +84171,10 @@ msgstr ""
"débogage."
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
"Si [code]true[/code], le viewport désactivera le rendu 3D. Pour le "
"désactiver réellement, utilisez [code]usage[/code]."
@@ -84198,7 +84358,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -84784,6 +84946,22 @@ msgstr ""
"Cet objet ne sera visible que pour les [Camera] où le masque de cull inclut "
"l'objet de rendu auquel [VisualInstance] est défini."
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/gl.po b/doc/translations/gl.po
index 4ad17bba17..67bd7d902f 100644
--- a/doc/translations/gl.po
+++ b/doc/translations/gl.po
@@ -476,7 +476,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -491,7 +492,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -864,12 +869,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3480,6 +3489,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4164,8 +4193,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7082,7 +7110,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7267,6 +7298,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7286,9 +7320,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9926,10 +9964,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10461,14 +10498,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10478,22 +10515,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19273,6 +19310,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22105,7 +22150,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32817,7 +32865,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36115,7 +36165,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36363,7 +36416,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37073,6 +37129,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39879,7 +39938,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40390,11 +40451,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40428,11 +40489,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40454,11 +40515,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42305,6 +42366,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49897,15 +49968,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51501,17 +51579,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51520,8 +51609,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54236,7 +54331,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56073,7 +56172,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57451,7 +57552,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57467,7 +57571,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66704,10 +66810,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66718,8 +66829,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66871,7 +66982,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67403,6 +67516,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/hi.po b/doc/translations/hi.po
index 945befe58b..75318a4554 100644
--- a/doc/translations/hi.po
+++ b/doc/translations/hi.po
@@ -475,7 +475,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -490,7 +491,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -863,12 +868,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3479,6 +3488,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4163,8 +4192,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7081,7 +7109,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7266,6 +7297,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7285,9 +7319,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9925,10 +9963,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10460,14 +10497,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10477,22 +10514,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19272,6 +19309,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22104,7 +22149,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32816,7 +32864,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36114,7 +36164,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36362,7 +36415,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37072,6 +37128,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39878,7 +39937,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40389,11 +40450,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40427,11 +40488,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40453,11 +40514,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42304,6 +42365,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49896,15 +49967,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51500,17 +51578,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51519,8 +51608,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54235,7 +54330,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56072,7 +56171,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57450,7 +57551,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57466,7 +57570,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66703,10 +66809,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66717,8 +66828,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66870,7 +66981,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67402,6 +67515,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/hu.po b/doc/translations/hu.po
index a962de15e5..e99babd548 100644
--- a/doc/translations/hu.po
+++ b/doc/translations/hu.po
@@ -495,7 +495,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -510,7 +511,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -883,12 +888,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3499,6 +3508,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4183,8 +4212,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7101,7 +7129,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7286,6 +7317,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7305,9 +7339,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9945,10 +9983,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10480,14 +10517,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10497,22 +10534,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19292,6 +19329,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22124,7 +22169,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32836,7 +32884,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36134,7 +36184,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36382,7 +36435,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37092,6 +37148,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39898,7 +39957,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40409,11 +40470,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40447,11 +40508,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40473,11 +40534,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42324,6 +42385,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49916,15 +49987,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51520,17 +51598,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51539,8 +51628,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54255,7 +54350,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56092,7 +56191,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57470,7 +57571,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57486,7 +57590,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66723,10 +66829,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66737,8 +66848,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66890,7 +67001,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67422,6 +67535,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/id.po b/doc/translations/id.po
index 249ed80079..ad63a828e5 100644
--- a/doc/translations/id.po
+++ b/doc/translations/id.po
@@ -695,7 +695,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -710,7 +711,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1220,21 +1225,18 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Mencetak trek tumpukan di lokasi kode, hanya berfungsi saat dijalankan "
-"dengan debugger dihidupkan.\n"
-"Output di konsol akan terlihat seperti ini:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 dalam fungsi '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -3889,6 +3891,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4573,8 +4595,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7492,7 +7513,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7677,6 +7701,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7696,9 +7723,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10336,10 +10367,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10871,14 +10901,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10888,22 +10918,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19685,6 +19715,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22517,7 +22555,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33240,7 +33281,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36561,7 +36604,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36810,7 +36856,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37521,6 +37570,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40329,7 +40381,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40842,11 +40896,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40880,11 +40934,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40906,11 +40960,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42770,6 +42824,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50367,15 +50431,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51971,17 +52042,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51990,8 +52072,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54707,7 +54795,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56544,7 +56636,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57922,7 +58016,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57938,7 +58035,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67192,10 +67291,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67206,8 +67310,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67359,7 +67463,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67891,6 +67997,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/is.po b/doc/translations/is.po
index 2facd468d9..6bf49858f4 100644
--- a/doc/translations/is.po
+++ b/doc/translations/is.po
@@ -475,7 +475,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -490,7 +491,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -863,12 +868,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3479,6 +3488,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4163,8 +4192,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7081,7 +7109,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7266,6 +7297,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7285,9 +7319,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9925,10 +9963,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10460,14 +10497,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10477,22 +10514,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19272,6 +19309,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22104,7 +22149,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32816,7 +32864,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36114,7 +36164,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36362,7 +36415,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37072,6 +37128,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39878,7 +39937,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40389,11 +40450,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40427,11 +40488,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40453,11 +40514,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42304,6 +42365,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49896,15 +49967,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51500,17 +51578,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51519,8 +51608,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54235,7 +54330,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56072,7 +56171,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57450,7 +57551,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57466,7 +57570,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66703,10 +66809,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66717,8 +66828,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66870,7 +66981,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67402,6 +67515,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/it.po b/doc/translations/it.po
index ed4ec9ddc7..37488c9ebd 100644
--- a/doc/translations/it.po
+++ b/doc/translations/it.po
@@ -20,18 +20,19 @@
# Daniele Basso <tiziodcaio@gmail.com>, 2021.
# Jacopo Farina <jacopo1.farina@gmail.com>, 2021.
# Riteo Siuga <riteo@posteo.net>, 2021.
-# ZeroKun265 <davidegiambirtone265@gmail.com>, 2021.
+# ZeroKun265 <davidegiambirtone265@gmail.com>, 2021, 2022.
# Andrea Montagna <fullmontis@gmail.com>, 2021.
# Andrea Leganza <neogene@gmail.com>, 2021.
# Federico Caprini <caprinifede@gmail.com>, 2022.
# Alessandro Casalino <alessandro.casalino93@gmail.com>, 2022.
# AndreWharn <andrewharnofficial@gmail.com>, 2022.
+# Silvia Scaglione <sissisoad@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-14 18:45+0000\n"
-"Last-Translator: Federico Caprini <caprinifede@gmail.com>\n"
+"PO-Revision-Date: 2022-10-16 11:17+0000\n"
+"Last-Translator: Silvia Scaglione <sissisoad@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/it/>\n"
"Language: it\n"
@@ -39,7 +40,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 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -47,7 +48,7 @@ msgstr "Descrizione"
#: doc/tools/make_rst.py
msgid "Tutorials"
-msgstr "Guide"
+msgstr "Tutorials"
#: doc/tools/make_rst.py
msgid "Properties"
@@ -253,8 +254,8 @@ msgid ""
"s = asin(0.5)\n"
"[/codeblock]"
msgstr ""
-"Ritorna l'arcoseno di [code]s[/code] in radianti. Usato per prendere "
-"l'angolo del seno [code]s[/code]. [code]s[/code] deve essere compreso tra "
+"Ritorna l'arcoseno di [code]s[/code] in radianti. Utilizza [code]s[/code] "
+"per prendere l'angolo del seno. [code]s[/code] deve essere compreso tra "
"[code]-1.0[/code] e [code]1.0[/code] (inclusi), altrimenti, [method asin] "
"ritornerà [constant NAN].\n"
"[codeblock]\n"
@@ -288,20 +289,20 @@ msgid ""
"a message with clarifying details\n"
"[/codeblock]"
msgstr ""
-"Controlla che [code]condition[/code] sia [code]true[/code]. Se "
-"[code]condition[/code] è [code]false[/code], un errore è generato. Mentre si "
-"sta eseguendo dall'editor, il progetto corrente verrà interrotto finché non "
-"lo riprenderai. Questo può essere usato come una forma più forte di [method "
-"push_error] per riportare gli errori allo sviluppatore del progetto o agli "
-"utilizzatori di add-on.\n"
-"[b]Note:[/b] Per ragioni di performance, il codice dentro [method assert] "
-"viene eseguito sono nelle versione di debug o mentre si sta eseguendo il "
-"progetto dall'editor. Non includere codice che ha effetti collaterali mentre "
-"[method assert] viene chiamato. Altrimenti il progetto si comporterà "
-"diversamente quando viene esportato nella modalità di rilascio.\n"
-"Il parametro [code]message[/code] opzionale, se passato, è mostrato insieme "
-"al messaggio generico \"Assertion failed\". Puoi usarlo per dare dettagli "
-"addizionali sul perché l'asserzione sia fallita.\n"
+"Controlla che [code]condizion[/code] sia [code]true[/code](vero). Se "
+"[code]condition[/code] è [code]false[/code](falso), un errore è generato."
+"Quando eseguito all'interno dell'editor, il progetto verrà anche messo in "
+"pausa, finchè non lo farai ripartire. Ciò può essere usato come un migliore "
+"sistema di [method push_error] per riportare errori agli sviluppatori del "
+"progetto o ulteriori utenti.\n"
+"[b]Nota bene:[/b] Per motivi di prestazioni, il codice all'interno di "
+"[method assert] è eseguito solo nelle build di debug o quando il progetto è "
+"eseguito dall'editor. Non scrivere codice che dovrà avere effetti "
+"collaterali in una chiamata [method assert]. Altrimenti il progetto si "
+"comporterà in modo diverso quando esportato in modalità release.\n"
+"L'argomento opzionale [code]message[/code], se dato, è mostrato in aggiunta "
+"al generico messaggio \"Assertion failed\" (Asserzione fallita). Può essere "
+"usato per fornire più dettagli sul motivo per cui un asserzione ha fallito.\n"
"[codeblock]\n"
"# Immaginati di voler sempre avere una velocità (speed nel caso nostro) "
"sempre tra 0 e 20\n"
@@ -734,8 +735,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -750,7 +753,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Restituisce un vettore di dizionari rappresentanti il call stack corrente.\n"
"[codeblock]\n"
@@ -947,7 +954,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
@@ -971,7 +977,10 @@ msgid ""
msgstr ""
"Interpola linearmente tra due valori mediante un valore definito in "
"[code]weight[/code]. Per interpolare, [code]weight[/code] dovrebbe rimanere "
-"tra [code]0.0[/code] e [code]1.0[/code] (inclusi).\n"
+"tra [code]0.0[/code] e [code]1.0[/code] (inclusi). Tuttavia, i valori fuori "
+"da questo range sono permessi e possono essere utilizzati per eseguire "
+"[i]extrapolation[/i]. Utilizza [method clamp] sul risultato di [method lerp] "
+"se non lo si desidera.\n"
"Se gli argomenti [code]from[/code] e [code]to[/code] sono di tipo [int] o "
"[float], il valore di ritorno è un [float].\n"
"Se entrambi sono dello stesso tipo di vettore ([Vector2], [Vector3] o "
@@ -987,7 +996,6 @@ msgstr ""
"combinalo con [method ease] o [method smoothstep]."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two angles (in radians) by a normalized "
"value.\n"
@@ -1012,18 +1020,25 @@ msgid ""
msgstr ""
"Interpola linearmente tra due angoli (in radianti) con un valore "
"normalizzato.\n"
-"Simile a [metodo lerp], ma interpola correttamente quando gli angoli sono "
+"Simile a [method lerp], ma interpola correttamente quando gli angoli sono "
"attorno [costante @GDScript.TAU]. Per eseguire un'interpolazione alleggerita "
"con [method lerp_angle], combinalo con [method ease] o [method smoothstep].\n"
"[codeblock]\n"
"extends Sprite\n"
"var elapsed = 0.0\n"
"func _process(delta):\n"
-" var min_angle = deg2rad(0.0)\n"
-" var max_angle = deg2rad(90.0)\n"
-" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
-" elapsed += delta\n"
-"[/codeblock]"
+" var min_angle = deg2rad(0.0)\n"
+" var max_angle = deg2rad(90.0)\n"
+" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
+" elapsed += delta\n"
+"[/codeblock]\n"
+"[b]Nota:[/b] Questo metodo interpola linearmente tra [code]da[/code] e "
+"[code]a[/code]. Tuttavia, quando questi due angoli sono approssimativamente "
+"[code]PI + k * TAU[/code] distanti per qualsiasi numero intero [code]k[/"
+"code], non è ovvio in quale modo si interpolano a causa di errori di "
+"precisione a virgola mobile. Per esempio, [code]lerp_angle(0, PI, weight)[/"
+"code] interpola in senso anti-orario, mentre [code]lerp_angle(0, PI + 5 * "
+"TAU, weight)[/code] interpola in senso orario."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1272,7 +1287,6 @@ msgstr ""
"coordinate cartesiane (assi X e Y)."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the integer modulus of [code]a/b[/code] that wraps equally in "
"positive and negative.\n"
@@ -1297,7 +1311,7 @@ msgstr ""
"for i in range(-3, 4):\n"
" print(\"%2d %2d %2d\" % [i, i % 3, posmod(i, 3)])\n"
"[/codeblock]\n"
-"Produces:\n"
+"Produce:\n"
"[codeblock]\n"
"-3 0 0\n"
"-2 -2 1\n"
@@ -1375,7 +1389,6 @@ msgstr ""
"messaggi di debug ed errore che vengono mostrati con la stack trace."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Like [method print], but includes the current stack frame when running with "
"the debugger turned on.\n"
@@ -1385,28 +1398,27 @@ msgid ""
" At: res://test.gd:15:_process()\n"
"[/codeblock]"
msgstr ""
-"Stampa un stack trace nella posizione del codice, funziona solo quando il "
-"debugger è attivato.\n"
+"Come [method print], ma include l'attuale stack frame quando si avvia con il "
+"debugger attivato.\n"
"L'output nella console apparirà come:\n"
"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
+"Test print\n"
+" At: res://test.gd:15:_process()\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Stampa un stack trace nella posizione del codice, funziona solo quando il "
-"debugger è attivato.\n"
-"L'output nella console apparirà come:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1524,7 +1536,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns a random floating point value between [code]from[/code] and "
"[code]to[/code] (both endpoints inclusive).\n"
@@ -1533,11 +1544,12 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
msgstr ""
-"Un range casuale, un qualsiasi numero in virgola mobile tra [code]from[/"
-"code] e [code]to[/code]\n"
+"Ritorna in modo casuale un numero a virgola mobile tra [code]from[/code] e "
+"[code]to[/code] (incluse entrambe le estremità).\n"
"[codeblock]\n"
"prints(rand_range(0, 1), rand_range(0, 1)) # Stampa 0.135591 0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Nota:[/b] Ciò equivale a [code]randf() * (to - from) + from[/code]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1559,8 +1571,8 @@ msgid ""
"randf() # Returns e.g. 0.375671\n"
"[/codeblock]"
msgstr ""
-"Restituisce un numero casuale in virgola mobile nell'intervallo [code][0, 1]"
-"[/code].\n"
+"Restituisce un numero casuale a virgola mobile nell'intervallo [code][0, 1][/"
+"code].\n"
"[codeblock]\n"
"randf() # Restituisce ad esempio 0.375671\n"
"[/codeblock]"
@@ -1695,6 +1707,17 @@ msgid ""
"For complex use cases where you need multiple ranges, consider using [Curve] "
"or [Gradient] instead."
msgstr ""
+"Mostra un [code]value[/code] da [code][istart, istop][/code] a [code]"
+"[ostart, ostop][/code]. Vedi anche [methop lerp] e [method inverse_lerp]. Se "
+"[code]value[/code] è fuori da [code][istart, istop][/code], allora il numero "
+"che risulterà sarà anche esso fuori da [code][ostart, ostop][/code]. "
+"Utilizza [method clamp] sul risultato di [method range_lerp] se non lo si "
+"desidera.\n"
+"[codeblock]\n"
+"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
+"[/codeblock]\n"
+"Per utilizzi complessi in cui ti servono molteplici range, considera "
+"piuttosto l'utilizzo di [Curve] o [Gradient]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1799,6 +1822,29 @@ msgid ""
"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, "
"-1.6521) return values[/url]"
msgstr ""
+"Ritorna il risultato della regolare interpolazione del valore di [code]s[/"
+"code] tra [code]0[/code] e [code]1[/code], basata sulla posizione di "
+"[code]s[/code] rispetto agli angoli [code]from[/code] e [code]to[/code].\n"
+"Il valore di ritorno è [code]0[/code] if [code]s <= from[/code], e [code]1[/"
+"code] if [code]s >= to[/code]. Se [code]s[/code] è posizionato tra "
+"[code]from[/code] e [code]to[/code], il valore di ritorno seguirà una curva "
+"a forma di S che mostrerà [code]s[/code] tra [code]0[/code] e [code]1[/"
+"code].\n"
+"La curva a forma di S è l'interpolatore cubico Hermite, dato da [code]f(y) = "
+"3*y^2 - 2*y^3[/code] dove [code]y = (x-from) / (to-from)[/code].\n"
+"[codeblock]\n"
+"smoothstep(0, 2, -5.0) # Returns 0.0\n"
+"smoothstep(0, 2, 0.5) # Returns 0.15625\n"
+"smoothstep(0, 2, 1.0) # Returns 0.5\n"
+"smoothstep(0, 2, 2.0) # Returns 1.0\n"
+"[/codeblock]\n"
+"Rispetto a [method ease] con un valore di curva di [code]-1.6521[/code], "
+"[method smoothstep] ritorna la curva più regolare possibile senza improvvisi "
+"cambiamenti sulla derivata. Se hai bisogno di effettuare transizioni più "
+"avanzate, usa [Tween] o [AnimationPlayer].\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/"
+"smoothstep_ease_comparison.png] Confronto tra smoothstep() e ease(x, "
+"-1.6521) fa tornare i valori[/url]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1840,7 +1886,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Snaps float value [code]s[/code] to a given [code]step[/code]. This can also "
"be used to round a floating point number to an arbitrary number of "
@@ -1851,12 +1896,12 @@ msgid ""
"[/codeblock]\n"
"See also [method ceil], [method floor], [method round], and [int]."
msgstr ""
-"Arrotonda un valore float [code]s[/code] ad un valore [code]step[/code] su "
-"una scala. Questo può essere anche utilizzato per arrotondare un valore "
-"float ad un numero arbitrario di cifre decimali.\n"
+"Scatta un valore float [code]s[/code] ad un valore [code]step[/code]. Questo "
+"può essere anche utilizzato per arrotondare un valore float ad un numero "
+"arbitrario di cifre decimali.\n"
"[codeblock]\n"
"stepify(100, 32) # Ritorna 96.0\n"
-"stepify(3.14159, 0.01) # Ritorna3.14\n"
+"stepify(3.14159, 0.01) # Ritorna 3.14\n"
"[/codeblock]\n"
"Guarda anche [method ceil], [method floor], [method round] e [int]."
@@ -1985,6 +2030,15 @@ msgid ""
" print(\"unexpected results\")\n"
"[/codeblock]"
msgstr ""
+"Ritorna l'internal type della Variant dell'oggetto, utilizzando i valori "
+"[enum Variant.Type].\n"
+"[codeblock]\n"
+"p = parse_json('[\"a\", \"b\", \"c\"]')\n"
+"if typeof(p) == TYPE_ARRAY:\n"
+" print(p[0]) # Prints a\n"
+"oppure:\n"
+" print(\"unexpected results\")\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -2088,6 +2142,26 @@ msgid ""
"[code]wrapf[/code] is more flexible than using the [method fposmod] approach "
"by giving the user control over the minimum value."
msgstr ""
+"Avvolge il float [code]value[/code] tra [code]min[/code] e [code]max[/"
+"code].\n"
+"Utilizzabile per creare dei funzionamenti simili a loop o infinite "
+"superfici.\n"
+"[codeblock]\n"
+"# Infinite loop between 5.0 and 9.9\n"
+"value = wrapf(value + 0.1, 5.0, 10.0)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# Infinite rotation (in radians)\n"
+"angle = wrapf(angle + 0.1, 0.0, TAU)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# Infinite rotation (in radians)\n"
+"angle = wrapf(angle + 0.1, -PI, PI)\n"
+"[/codeblock]\n"
+"[b]Nota:[/b] Se [code]min[/code] è [code]0[/code], ciò è equivalente a "
+"[method fposmod], quindi utilizza quello preferibilmente.\n"
+"[code]wrapf[/code] è più flessibile rispetto all'approccio [method fposmod] "
+"dando l'user control sopra il valore minimo."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -2238,6 +2312,16 @@ msgid ""
"code] will not result in [constant INF] and will result in a run-time error "
"instead."
msgstr ""
+"L'infinità positiva della virgola mobile. Questo è il risultato della "
+"divisione in virgola mobile quando il divisore è [code]0.0[/code]. Per "
+"infinità negativa, utilizza [code]-INF[/code]. Dividere per [code]-0.0[/"
+"code] risulterà in infinità negativa se è il numeratore è positivo, quindi "
+"dividere per [code]0.0[/code] non è lo stesso di dividere per [code]-0.0[/"
+"code] (nonostante [code]0.0 == -0.0[/code] ritorni [code]true[/code]).\n"
+"[b]Nota:[/b] L'infinità numerica è solo un concetto per numeri a virgola "
+"mobile, e non ha equivalenti per numeri interi. Dividere un numero intero "
+"per [code]0[/code] non risulterà in [constant INF] e risulterà, invece, in "
+"un errore di avviamento."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -2263,7 +2347,7 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Global scope constants and variables."
-msgstr ""
+msgstr "Costanti e variabili degli ambiti globali."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -2272,6 +2356,11 @@ msgid ""
"Singletons are also documented here, since they can be accessed from "
"anywhere."
msgstr ""
+"Costanti e varianti degli ambiti globali. Questo è ciò che risiede nei "
+"globali, le costanti riguardano gli errori di codice, scancodes, property "
+"hints, ecc...\n"
+"I Singletons sono documentati anche qui, dato che sono accessibili da "
+"qualsiasi parte."
#: doc/classes/@GlobalScope.xml
msgid "The [ARVRServer] singleton."
@@ -2334,19 +2423,16 @@ msgid "The [Marshalls] singleton."
msgstr "Il singleton [Marshalls]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Navigation2DServer] singleton."
-msgstr "Il singleton [TranslationServer]."
+msgstr "Il singleton [Navigation2DServer]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [NavigationMeshGenerator] singleton."
-msgstr "Il singleton [EditorNavigationMeshGenerator]."
+msgstr "Il singleton [NavigationMeshGenerator]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [NavigationServer] singleton."
-msgstr "Il singleton [TranslationServer]."
+msgstr "Il singleton [NavigationServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [OS] singleton."
@@ -2377,9 +2463,8 @@ msgid "The [ResourceSaver] singleton."
msgstr "Il singleton [ResourceSaver]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Time] singleton."
-msgstr "Il singleton [Engine]."
+msgstr "Il singleton [Time]."
#: doc/classes/@GlobalScope.xml
msgid "The [TranslationServer] singleton."
@@ -2439,16 +2524,22 @@ msgid ""
"General vertical alignment, usually used for [Separator], [ScrollBar], "
"[Slider], etc."
msgstr ""
+"L'allineamento generale verticale, solitamente utilizzato per [Separator], "
+"[Scrollbar], [Slider], ecc."
#: doc/classes/@GlobalScope.xml
msgid ""
"General horizontal alignment, usually used for [Separator], [ScrollBar], "
"[Slider], etc."
msgstr ""
+"L'allineamento orizzontale generale, solitamente utilizzato per [Separator], "
+"[Scrollbar], [Slider], etc."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Horizontal left alignment, usually for text-derived classes."
msgstr ""
+"L'allineamento orizzontale sinistro, solitamente per text-derived classes."
#: doc/classes/@GlobalScope.xml
msgid "Horizontal center alignment, usually for text-derived classes."
@@ -2721,26 +2812,24 @@ msgid "Context menu key."
msgstr "Tasto menu contestuale."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Left Hyper key."
msgstr "Tasto Hyper sinistro."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Right Hyper key."
msgstr "Tasto Hyper destro."
#: doc/classes/@GlobalScope.xml
msgid "Help key."
-msgstr ""
+msgstr "Tasto help."
#: doc/classes/@GlobalScope.xml
msgid "Left Direction key."
-msgstr ""
+msgstr "Il tasto direzionale sinistro."
#: doc/classes/@GlobalScope.xml
msgid "Right Direction key."
-msgstr ""
+msgstr "Il tasto direzionale destro."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -2776,7 +2865,7 @@ msgstr "Tasto del volume su."
#: doc/classes/@GlobalScope.xml
msgid "Bass Boost key."
-msgstr ""
+msgstr "Il tasto Bass Boost."
#: doc/classes/@GlobalScope.xml
msgid "Bass up key."
@@ -2810,7 +2899,7 @@ msgstr "Tasto brano successivo."
#: doc/classes/@GlobalScope.xml
msgid "Media record key."
-msgstr ""
+msgstr "Tasto di registrazione."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -2818,98 +2907,96 @@ msgid "Home page key."
msgstr "Tasto pagina iniziale."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Favorites key."
msgstr "Tasto Preferiti."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Search key."
msgstr "Tasto Ricerca."
#: doc/classes/@GlobalScope.xml
msgid "Standby key."
-msgstr ""
+msgstr "Tasto Modalità Riposo."
#: doc/classes/@GlobalScope.xml
msgid "Open URL / Launch Browser key."
-msgstr ""
+msgstr "Tasto Apri URL / Avvia Browser."
#: doc/classes/@GlobalScope.xml
msgid "Launch Mail key."
-msgstr ""
+msgstr "Tasto Avvia Mail."
#: doc/classes/@GlobalScope.xml
msgid "Launch Media key."
-msgstr ""
+msgstr "Tasto Avvia Media."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 0 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 0."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 1 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 1."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 2 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 2."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 3 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 3."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 4 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 4."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 5 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 5."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 6 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 6."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 7 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 7."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 8 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 8."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut 9 key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut 9."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut A key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut A."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut B key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut B."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut C key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut C."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut D key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut D."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut E key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut E."
#: doc/classes/@GlobalScope.xml
msgid "Launch Shortcut F key."
-msgstr ""
+msgstr "Tasto Avvia Shortcut F."
#: doc/classes/@GlobalScope.xml
msgid "Unknown key."
-msgstr ""
+msgstr "Tasto Sconosciuto."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -2927,117 +3014,94 @@ msgid "\" key."
msgstr "Tasto \"."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "# key."
msgstr "Tasto #."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "$ key."
msgstr "Tasto $."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "% key."
msgstr "Tasto %."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "& key."
msgstr "Tasto &."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "' key."
msgstr "Tasto '."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "( key."
msgstr "Tasto (."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ") key."
msgstr "Tasto )."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "* key."
msgstr "Tasto *."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "+ key."
msgstr "Tasto +."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ", key."
msgstr "Tasto ,."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "- key."
msgstr "Tasto -."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ". key."
msgstr "Tasto \".\"."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "/ key."
msgstr "Tasto /."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 0."
msgstr "Numero 0."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 1."
msgstr "Numero 1."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 2."
msgstr "Numero 2."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 3."
msgstr "Numero 3."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 4."
msgstr "Numero 4."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 5."
msgstr "Numero 5."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 6."
msgstr "Numero 6."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 7."
msgstr "Numero 7."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 8."
msgstr "Numero 8."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Number 9."
msgstr "Numero 9."
@@ -3047,127 +3111,102 @@ msgid ": key."
msgstr "Tasto :."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "; key."
msgstr "Tasto ;."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "< key."
msgstr "Tasto <."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "= key."
msgstr "Tasto =."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "> key."
msgstr "Tasto >."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "? key."
msgstr "Tasto ?."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "@ key."
msgstr "Tasto @."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "A key."
msgstr "Tasto A."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "B key."
msgstr "Tasto B."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "C key."
msgstr "Tasto C."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "D key."
msgstr "Tasto D."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "E key."
msgstr "Tasto E."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "F key."
msgstr "Tasto F."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "G key."
msgstr "Tasto G."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "H key."
msgstr "Tasto H."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "I key."
msgstr "Tasto I."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "J key."
msgstr "Tasto J."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "K key."
msgstr "Tasto K."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "L key."
msgstr "Tasto L."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "M key."
msgstr "Tasto M."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "N key."
msgstr "Tasto N."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "O key."
msgstr "Tasto O."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "P key."
msgstr "Tasto P."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Q key."
msgstr "Tasto Q."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "R key."
msgstr "Tasto R."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "S key."
msgstr "Tasto S."
@@ -3177,88 +3216,72 @@ msgid "T key."
msgstr "Tasto T."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "U key."
msgstr "Tasto U."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "V key."
msgstr "Tasto V."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "W key."
msgstr "Tasto W."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "X key."
msgstr "Tasto X."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Y key."
msgstr "Tasto Y."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Z key."
msgstr "Tasto Z."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "[ key."
msgstr "Tasto [."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "\\ key."
msgstr "Tasto \\."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "] key."
msgstr "Tasto ]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "^ key."
msgstr "Tasto ^."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "_ key."
msgstr "Tasto _."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "` key."
msgstr "Tasto '."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "{ key."
msgstr "Tasto {."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "| key."
msgstr "Tasto |."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "} key."
msgstr "Tasto }."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "~ key."
msgstr "Tasto ~."
#: doc/classes/@GlobalScope.xml
msgid "Non-breakable space key."
-msgstr ""
+msgstr "Tasto spazio Non-breakable."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -3286,307 +3309,248 @@ msgid "Â¥ key."
msgstr "Tasto ¥."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¦ key."
msgstr "Tasto ¦."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "§ key."
msgstr "Tasto §."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¨ key."
msgstr "Tasto ¨."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "© key."
msgstr "Tasto ©."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "ª key."
msgstr "Tasto ª."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "« key."
msgstr "Tasto «."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¬ key."
msgstr "Tasto ¬."
#: doc/classes/@GlobalScope.xml
msgid "Soft hyphen key."
-msgstr ""
+msgstr "Tasto trattino morbido."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "® key."
msgstr "Tasto ®."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¯ key."
msgstr "Tasto ¯."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "° key."
msgstr "Tasto °."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "± key."
msgstr "Tasto ±."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "² key."
msgstr "Tasto ²."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "³ key."
msgstr "Tasto ³."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "´ key."
msgstr "Tasto ´."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "µ key."
msgstr "Tasto µ."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¶ key."
msgstr "Tasto ¶."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "· key."
msgstr "Tasto ·."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¸ key."
msgstr "Tasto ¸."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¹ key."
msgstr "Tasto ¹."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "º key."
msgstr "Tasto º."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "» key."
msgstr "Tasto »."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¼ key."
msgstr "Tasto ¼."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "½ key."
msgstr "Tasto ½."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¾ key."
msgstr "Tasto ¾."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "¿ key."
msgstr "Tasto ¿."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "À key."
msgstr "Tasto À."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã key."
msgstr "Tasto Ã."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Â key."
msgstr "Tasto Â."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã key."
msgstr "Tasto Ã."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ä key."
msgstr "Tasto Ä."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã… key."
msgstr "Tasto Ã…."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Æ key."
msgstr "Tasto Æ."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ç key."
msgstr "Tasto Ç."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "È key."
msgstr "Tasto È."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "É key."
msgstr "Tasto É."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ê key."
msgstr "Tasto Ê."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ë key."
msgstr "Tasto Ë."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ì key."
msgstr "Tasto Ì."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã key."
msgstr "Tasto Ã."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "ÃŽ key."
msgstr "Tasto ÃŽ."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã key."
msgstr "Tasto Ã."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã key."
msgstr "Tasto Ã."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ñ key."
msgstr "Tasto Ñ."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã’ key."
msgstr "Tasto Ã’."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ó key."
msgstr "Tasto Ó."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ô key."
msgstr "Tasto Ô."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Õ key."
msgstr "Tasto Õ."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ö key."
msgstr "Tasto Ö."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "× key."
msgstr "Tasto ×."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ø key."
msgstr "Tasto Ø."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ù key."
msgstr "Tasto Ù."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ú key."
msgstr "Tasto Ú."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Û key."
msgstr "Tasto Û."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ü key."
msgstr "Tasto Ü."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Ã key."
msgstr "Tasto Ã."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Þ key."
msgstr "Tasto Þ."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "ß key."
msgstr "Tasto ß."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "÷ key."
msgstr "Tasto ÷."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "ÿ key."
msgstr "Tasto ÿ."
#: doc/classes/@GlobalScope.xml
msgid "Key Code mask."
-msgstr ""
+msgstr "Tasto Code mask."
#: doc/classes/@GlobalScope.xml
msgid "Modifier key mask."
@@ -3594,11 +3558,11 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Shift key mask."
-msgstr ""
+msgstr "Tasto Shift."
#: doc/classes/@GlobalScope.xml
msgid "Alt key mask."
-msgstr ""
+msgstr "Tasto Alt."
#: doc/classes/@GlobalScope.xml
msgid "Meta key mask."
@@ -3606,7 +3570,7 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Ctrl key mask."
-msgstr ""
+msgstr "Tasto Ctrl."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -3615,61 +3579,62 @@ msgid ""
"mask should be preferred to [constant KEY_MASK_META] or [constant "
"KEY_MASK_CTRL] for system shortcuts as it handles all platforms correctly."
msgstr ""
+"Tasto Comandi. Su macOS, ciò equivale a [constant KEY_MASK_META]. Su altre "
+"piattaforme, ciò equivale a [constant KEY_MASK_CTRL]. Questo tasto dovrebbe "
+"essere preferito a [constant KEY_MASK_META] o [constant KEY_MASK_CTRL] per "
+"sistemi di shortcut in quanto gestito correttamente da tutte le piattaforme."
#: doc/classes/@GlobalScope.xml
msgid "Keypad key mask."
-msgstr ""
+msgstr "Tasto Keypad."
#: doc/classes/@GlobalScope.xml
msgid "Group Switch key mask."
-msgstr ""
+msgstr "Tasto Group Switch."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Left mouse button."
msgstr "Tasto sinistro del mouse."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Right mouse button."
msgstr "Tasto destro del mouse."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Middle mouse button."
msgstr "Tasto centrale del mouse."
#: doc/classes/@GlobalScope.xml
msgid "Extra mouse button 1 (only present on some mice)."
-msgstr ""
+msgstr "Tasto Mouse Extra 1 (presente solo su alcuni mouse)."
#: doc/classes/@GlobalScope.xml
msgid "Extra mouse button 2 (only present on some mice)."
-msgstr ""
+msgstr "Tasto Mouse Extra 1 (presente solo su alcuni mouse)."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel up."
-msgstr ""
+msgstr "Rotella del Mouse in su'."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel down."
-msgstr ""
+msgstr "Rotella del mouse in giu'."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel left button (only present on some mice)."
-msgstr ""
+msgstr "Tasto rotella sinistra del mouse (presente solo su alcuni mouse)."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel right button (only present on some mice)."
-msgstr ""
+msgstr "Tasto rotella del mouse destra (presente solo su alcuni mouse)."
#: doc/classes/@GlobalScope.xml
msgid "Left mouse button mask."
-msgstr ""
+msgstr "Tasto sinistro del mouse."
#: doc/classes/@GlobalScope.xml
msgid "Right mouse button mask."
-msgstr ""
+msgstr "Tasto destro del mouse."
#: doc/classes/@GlobalScope.xml
msgid "Middle mouse button mask."
@@ -3689,95 +3654,95 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 0."
-msgstr ""
+msgstr "Tasto 0 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 1."
-msgstr ""
+msgstr "Tasto 1 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 2."
-msgstr ""
+msgstr "Tasto 2 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 3."
-msgstr ""
+msgstr "Tasto 3 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 4."
-msgstr ""
+msgstr "Tasto 4 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 5."
-msgstr ""
+msgstr "Tasto 5 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 6."
-msgstr ""
+msgstr "Tasto 6 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 7."
-msgstr ""
+msgstr "Tasto 7 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 8."
-msgstr ""
+msgstr "Tasto 8 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 9."
-msgstr ""
+msgstr "Tasto 9 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 10."
-msgstr ""
+msgstr "Tasto 10 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 11."
-msgstr ""
+msgstr "Tasto 11 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 12."
-msgstr ""
+msgstr "Tasto 12 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 13."
-msgstr ""
+msgstr "Tasto 13 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 14."
-msgstr ""
+msgstr "Tasto 14 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 15."
-msgstr ""
+msgstr "Tasto 15 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 16."
-msgstr ""
+msgstr "Tasto 16 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 17."
-msgstr ""
+msgstr "Tasto 17 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 18."
-msgstr ""
+msgstr "Tasto 18 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 19."
-msgstr ""
+msgstr "Tasto 19 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 20."
-msgstr ""
+msgstr "Tasto 20 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 21."
-msgstr ""
+msgstr "Tasto 21 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button 22."
-msgstr ""
+msgstr "Tasto 22 Gamepad."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -3787,114 +3752,125 @@ msgid ""
"- Linux: Up to 80 buttons.\n"
"- Windows and macOS: Up to 128 buttons."
msgstr ""
+"Il numero massimo di tasti di controller di gioco supportati dal motore. Il "
+"reale limite potrebbe essere inferiore su piattaforme specifiche:\n"
+"- Android: Fino a 36 tasti.\n"
+"- Linux: Fino a 80 tasti.\n"
+"- Windows e macOS: Fino a 128 tasti."
#: doc/classes/@GlobalScope.xml
msgid "DualShock circle button."
-msgstr ""
+msgstr "Tasto Cerchio del DualShock."
#: doc/classes/@GlobalScope.xml
msgid "DualShock X button."
-msgstr ""
+msgstr "Tasto X del DualShock."
#: doc/classes/@GlobalScope.xml
msgid "DualShock square button."
-msgstr ""
+msgstr "Tasto Quadrato del DualShock."
#: doc/classes/@GlobalScope.xml
msgid "DualShock triangle button."
-msgstr ""
+msgstr "Tasto Triangolo del DualShock."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller B button."
-msgstr ""
+msgstr "Tasto B del controller Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller A button."
-msgstr ""
+msgstr "Tasto A del controller Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller X button."
-msgstr ""
+msgstr "Tasto X del controller Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller Y button."
-msgstr ""
+msgstr "Tasto Y del controller Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller A button."
-msgstr ""
+msgstr "Tasto A del controller Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller B button."
-msgstr ""
+msgstr "Tasto B del controller Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller X button."
-msgstr ""
+msgstr "Tasto X del controller Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller Y button."
-msgstr ""
+msgstr "Tasto Y del controller Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Grip (side) buttons on a VR controller."
-msgstr ""
+msgstr "Tasti Grip (di lato) su un controller VR."
#: doc/classes/@GlobalScope.xml
msgid "Push down on the touchpad or main joystick on a VR controller."
-msgstr ""
+msgstr "Premi giù sul touchpad o il joystick principale su un controller VR."
#: doc/classes/@GlobalScope.xml
msgid "Trigger on a VR controller."
-msgstr ""
+msgstr "Trigger su un controller VR."
#: doc/classes/@GlobalScope.xml
msgid ""
"A button on the right Oculus Touch controller, X button on the left "
"controller (also when used in OpenVR)."
msgstr ""
+"Tasto A sul controller destro Oculus Touch, tasto X sul controller sinistro "
+"(anche quando utilizzato in OpenVR)."
#: doc/classes/@GlobalScope.xml
msgid ""
"B button on the right Oculus Touch controller, Y button on the left "
"controller (also when used in OpenVR)."
msgstr ""
+"Tasto B sul controller destro Oculus Touch, tasto Y sul controller sinistro "
+"(anche quando utilizzando in OpenVR)."
#: doc/classes/@GlobalScope.xml
msgid "Menu button on either Oculus Touch controller."
-msgstr ""
+msgstr "Tasto Menu su entrambi i controller Oculus Touch."
#: doc/classes/@GlobalScope.xml
msgid "Menu button in OpenVR (Except when Oculus Touch controllers are used)."
msgstr ""
+"Tasto Menu in OpenVR (tranne quando sono in utilizzo i controller Oculus "
+"Touch)."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button Select."
-msgstr ""
+msgstr "Tasto Select del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad button Start."
-msgstr ""
+msgstr "Tasto Start del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad DPad up."
-msgstr ""
+msgstr "Tasto in su' DPad del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad DPad down."
-msgstr ""
+msgstr "Tasto in giu' DPad del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad DPad left."
-msgstr ""
+msgstr "Tasto sinistro DPad del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad DPad right."
-msgstr ""
+msgstr "Tasto destro DPad del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL guide button."
-msgstr ""
+msgstr "Tasto Guida SDL del Gamepad."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL miscellaneous button."
@@ -4122,6 +4098,7 @@ msgid ""
msgstr ""
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"Methods that return [enum Error] return [constant OK] when no error "
"occurred. Note that many functions don't return an error code but will print "
@@ -4137,30 +4114,39 @@ msgid ""
" print(\"Still failing!\")\n"
"[/codeblock]"
msgstr ""
+"Metodi che ritornano [enum Error] ritornano [constant OK] quando non risulta "
+"alcun errore. Nota che molte funzioni non ritornano un errore di codice ma "
+"stampano messaggi di errore come standard output.\n"
+"Dato che [constant OK] ha valore 0, e tutti gli altri codici mancati sono "
+"interi positivi, può essere utilizzato anche nei controlli booleani, e.g.:\n"
+"[codeblock]\n"
+"var err = method_that_returns_error()\n"
+"if err != OK:\n"
+" print(\"Failure!\")\n"
+"# O, equivalente:\n"
+"if err:\n"
+" print(\"Still failing!\")\n"
+"[/codeblock]"
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Generic error."
msgstr "Errore generico."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Unavailable error."
msgstr "Errore non disponibile."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Unconfigured error."
msgstr "Errore non configurato."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Unauthorized error."
msgstr "Errore non autorizzato."
#: doc/classes/@GlobalScope.xml
msgid "Parameter range error."
-msgstr ""
+msgstr "Errore di parametro del range."
#: doc/classes/@GlobalScope.xml
msgid "Out of memory (OOM) error."
@@ -4180,11 +4166,11 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "File: No permission error."
-msgstr ""
+msgstr "File: Errore nessun permesso."
#: doc/classes/@GlobalScope.xml
msgid "File: Already in use error."
-msgstr ""
+msgstr "File: Errore già in uso."
#: doc/classes/@GlobalScope.xml
msgid "File: Can't open error."
@@ -4199,13 +4185,12 @@ msgid "File: Can't read error."
msgstr ""
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "File: Unrecognized error."
msgstr "File: Errore non riconosciuto."
#: doc/classes/@GlobalScope.xml
msgid "File: Corrupt error."
-msgstr ""
+msgstr "File: Errore corrotto."
#: doc/classes/@GlobalScope.xml
msgid "File: Missing dependencies error."
@@ -4216,14 +4201,12 @@ msgid "File: End of file (EOF) error."
msgstr ""
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Can't open error."
-msgstr "Impossibile aprire l'errore."
+msgstr "Impossibile aprire errore."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Can't create error."
-msgstr "Impossibile creare l'errore."
+msgstr "Impossibile creare errore."
#: doc/classes/@GlobalScope.xml
msgid "Query failed error."
@@ -4231,35 +4214,31 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Already in use error."
-msgstr ""
+msgstr "Errore già in uso."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Locked error."
msgstr "Errore bloccato."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Timeout error."
msgstr "Errore di timeout."
#: doc/classes/@GlobalScope.xml
msgid "Can't connect error."
-msgstr ""
+msgstr "Errore impossibile connettersi."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Can't resolve error."
msgstr "Impossibile risolvere l'errore."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Connection error."
msgstr "Errore di connessione."
#: doc/classes/@GlobalScope.xml
msgid "Can't acquire resource error."
-msgstr ""
+msgstr "Impossibile acquisire fonte dell'errore."
#: doc/classes/@GlobalScope.xml
msgid "Can't fork process error."
@@ -4270,36 +4249,32 @@ msgid "Invalid data error."
msgstr ""
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Invalid parameter error."
msgstr "Errore di parametro non valido."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Already exists error."
-msgstr "Esiste già l'errore."
+msgstr "Errore già esistente."
#: doc/classes/@GlobalScope.xml
msgid "Does not exist error."
-msgstr ""
+msgstr "Errore inesistente."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Database: Read error."
msgstr "Database: Errore di lettura."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Database: Write error."
msgstr "Database: Errore di scrittura."
#: doc/classes/@GlobalScope.xml
msgid "Compilation failed error."
-msgstr ""
+msgstr "Errore compilazione fallita."
#: doc/classes/@GlobalScope.xml
msgid "Method not found error."
-msgstr ""
+msgstr "Errore metodo non trovato."
#: doc/classes/@GlobalScope.xml
msgid "Linking failed error."
@@ -4307,24 +4282,23 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Script failed error."
-msgstr ""
+msgstr "Errore script fallito."
#: doc/classes/@GlobalScope.xml
msgid "Cycling link (import cycle) error."
msgstr ""
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Invalid declaration error."
msgstr "Errore di dichiarazione non valida."
#: doc/classes/@GlobalScope.xml
msgid "Duplicate symbol error."
-msgstr ""
+msgstr "Errore simbolo duplicato."
#: doc/classes/@GlobalScope.xml
msgid "Parse error."
-msgstr ""
+msgstr "Errore di analizzazione."
#: doc/classes/@GlobalScope.xml
msgid "Busy error."
@@ -4336,21 +4310,23 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Help error."
-msgstr ""
+msgstr "Errore aiuto."
#: doc/classes/@GlobalScope.xml
msgid "Bug error."
-msgstr ""
+msgstr "Errore bug."
#: doc/classes/@GlobalScope.xml
msgid ""
"Printer on fire error. (This is an easter egg, no engine methods return this "
"error code.)"
msgstr ""
+"Errore stampante a fuoco. (E' un easter egg, nessun motore di metodi riporta "
+"questo codice di errore.)"
#: doc/classes/@GlobalScope.xml
msgid "No hint for the edited property."
-msgstr ""
+msgstr "Nessun indizio sulle proprietà modificate."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4361,6 +4337,13 @@ msgid ""
"above the max or below the min values. Example: [code]\"-360,360,1,"
"or_greater,or_lesser\"[/code]."
msgstr ""
+"Indica che un numero intero o proprietà mobile dovrebbe essere in un range "
+"specifico tramite la stringa indicativa [code]\"min,max\"[/code] o "
+"[code]\"min,max,step\"[/code]. La stringa indicativa può, opzionalmente, "
+"includere [code]\"or_greater\"[/code] e/o [code]\"or_lesser\"[/code] per "
+"permettere un input manuale che vada rispettivamente sopra il massimo o "
+"sotto il minimo dei valori. Esempio: [code]\"-360,360,1,or_greater,"
+"or_lesser\"[/code]."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4371,6 +4354,13 @@ msgid ""
"above the max or below the min values. Example: [code]\"0.01,100,0.01,"
"or_greater\"[/code]."
msgstr ""
+"Indica che una proprietà mobile dovrebbe essere in un range esponenziale "
+"specificato tramite la stringa indicativa [code]\"min,max\"[/code] "
+"o[code]\"min,max,step\"[/code]. La stringa indicativa può, opzionalmente, "
+"includere [code]\"or_greater\"[/code] e/o [code]\"or_lesser\"[/code] per "
+"permettere un input manuale di andare rispettivamente sopra il massimo o "
+"sotto il minimo dei valori. Esempio: [code]\"0.01,100,0.01,or_greater\"[/"
+"code]."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4382,6 +4372,13 @@ msgid ""
"specified by appending [code]:integer[/code] to the name, e.g. [code]\"Zero,"
"One,Three:3,Four,Six:6\"[/code]."
msgstr ""
+"Indica che una proprietà intera, mobile o stringa sia un valore innumerato "
+"da scegliere tramite una specifica stringa indicativa.\n"
+"La stringa indicativa è un elenco di nomi come [code]\"Hello,Something,"
+"Else\"[/code]. Per proprietà intere o mobili, il primo nome sulla lista ha "
+"valore 0, il successivo 1, e così via. I valori espliciti possono anche "
+"essere specificati aggiungendo [code]:integer[/code] al nome, p.e. "
+"[code]\"Zero,One,Three:3,Four,Six:6\"[/code]."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4509,6 +4506,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -5194,8 +5211,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7160,13 +7176,12 @@ msgid ""
msgstr ""
#: doc/classes/AnimationTreePlayer.xml
-#, fuzzy
msgid ""
"Returns whether node [code]id[/code] and [code]dst_id[/code] are connected "
"at the specified slot."
msgstr ""
-"Restituisce [code]true[/code] se [code]a[/code] e [code]b[/code] sono "
-"approssimativamente uguali tra di loro."
+"Restituisce se nodo [code]id[/code] e [code]dst_id[/code] sono connessi "
+"nella specifica casella."
#: doc/classes/AnimationTreePlayer.xml
msgid "Returns the blend amount of a Blend2 node given its name."
@@ -8132,7 +8147,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -8317,6 +8335,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -8336,9 +8357,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -8756,12 +8781,14 @@ msgid ""
msgstr ""
#: doc/classes/ARVRController.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if the button at index [code]button[/code] is "
"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] "
"constants."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Ritorna [code]true[/code]se il tasto sull'indice [code]button[/code] è stato "
+"premuto. Vedi [enum JoystickList], in particolare i [code]JOY_VR_*[/code] "
+"costanti."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9305,9 +9332,8 @@ msgstr ""
#: doc/classes/PanelContainer.xml doc/classes/ScrollContainer.xml
#: doc/classes/SplitContainer.xml doc/classes/TabContainer.xml
#: doc/classes/VBoxContainer.xml doc/classes/VSplitContainer.xml
-#, fuzzy
msgid "GUI containers"
-msgstr "Contenitore a schede."
+msgstr "Contenitore a schede"
#: doc/classes/AspectRatioContainer.xml
msgid "Specifies the horizontal relative position of child controls."
@@ -9894,13 +9920,12 @@ msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if at least [code]frames[/code] audio frames are "
"available to read in the internal ring buffer."
msgstr ""
-"Restituisce [code]true[/code] se [code]a[/code] e [code]b[/code] sono "
-"approssimativamente uguali tra di loro."
+"Restituisce [code]true[/code] se almeno [code]frames[/code] frame audio sono "
+"disponibili per la lettura nell'internal ring buffer."
#: doc/classes/AudioEffectCapture.xml
msgid "Clears the internal ring buffer."
@@ -10986,12 +11011,14 @@ msgid "Clears the audio sample data buffer."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
+"esiste, [code]false[/code] altrimenti."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -11522,14 +11549,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -11539,22 +11566,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -13261,9 +13288,9 @@ msgid "The camera's process callback. See [enum Camera2DProcessMode]."
msgstr ""
#: doc/classes/Camera2D.xml
-#, fuzzy
msgid "If [code]true[/code], the camera view rotates with the target."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Se [code]true[/code], la visuale della telecamera ruota insieme al target."
#: doc/classes/Camera2D.xml
msgid ""
@@ -13401,11 +13428,12 @@ msgid "Returns an array of [CameraFeed]s."
msgstr ""
#: doc/classes/CameraServer.xml
-#, fuzzy
msgid ""
"Returns the [CameraFeed] corresponding to the camera with the given "
"[code]index[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce il [CameraFeed] corrispondente alla telecamera con il dato "
+"[code]index[/code]."
#: doc/classes/CameraServer.xml
msgid "Returns the number of [CameraFeed]s registered."
@@ -14740,9 +14768,8 @@ msgid ""
msgstr ""
#: doc/classes/ClippedCamera.xml
-#, fuzzy
msgid "If [code]true[/code], the camera stops on contact with [Area]s."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr "Se [code]true[/code], la telecamera si ferma al contatto con [Area]s."
#: doc/classes/ClippedCamera.xml
msgid "If [code]true[/code], the camera stops on contact with [PhysicsBody]s."
@@ -15160,9 +15187,8 @@ msgstr ""
#: doc/classes/Physics2DDirectSpaceState.xml
#: doc/classes/PhysicsDirectBodyState.xml
#: doc/classes/PhysicsDirectSpaceState.xml doc/classes/RigidBody.xml
-#, fuzzy
msgid "Physics introduction"
-msgstr "Interpolazione cubica."
+msgstr "Introduzione fisica"
#: doc/classes/CollisionShape.xml
msgid ""
@@ -16792,7 +16818,7 @@ msgstr ""
#: doc/classes/Control.xml
#, fuzzy
msgid "Control node gallery"
-msgstr "Tasto Control/CTRL."
+msgstr "Galleria controllo nodo"
#: doc/classes/Control.xml
msgid "All GUI Demos"
@@ -16902,15 +16928,16 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Creates a local override for a theme constant with the specified [code]name[/"
"code]. Local overrides always take precedence when fetching theme items for "
"the control.\n"
"See also [method get_constant], [method remove_constant_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Crea un override locale per un tema costante con lo specifico [code]name[/"
+"code]. I local overrides hanno sempre la precedenza quando si recuperano "
+"elementi del tema per il controllo.\n"
+"Vedi anche [method get_constant], [method remove_constant_override]."
#: doc/classes/Control.xml
msgid ""
@@ -17210,14 +17237,14 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if there is a local override for a theme [Color] "
"with the specified [code]name[/code] in this [Control] node.\n"
"See [method add_color_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se è presente un locale override per un tema "
+"[Color] con lo specifico [code]name[/code] in questo [Control] nodo.\n"
+"Vedi [method add_color_override]."
#: doc/classes/Control.xml
msgid ""
@@ -17228,14 +17255,14 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if there is a local override for a theme constant "
"with the specified [code]name[/code] in this [Control] node.\n"
"See [method add_constant_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se c'è un override locale per un tema costante "
+"nello specifico [code]name[/code] in questo [Control] nodo.\n"
+"Vedi [method add_constant_override]."
#: doc/classes/Control.xml
msgid ""
@@ -17255,14 +17282,14 @@ msgstr ""
"esiste, [code]false[/code] altrimenti."
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if there is a local override for a theme [Font] "
"with the specified [code]name[/code] in this [Control] node.\n"
"See [method add_font_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se è presente un override locale per un tema "
+"[Font] con lo specifico [code]name[/code] in questo [Control] nodo.\n"
+"Vedi [method add_font_override]."
#: doc/classes/Control.xml
#, fuzzy
@@ -17276,14 +17303,14 @@ msgstr ""
"esiste, [code]false[/code] altrimenti."
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if there is a local override for a theme icon with "
"the specified [code]name[/code] in this [Control] node.\n"
"See [method add_icon_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se è presente un override locale per un'icona "
+"a tema con lo specifico [code]name[/code] in questo [Control] nodo.\n"
+"Vedi [method add_icon_override]."
#: doc/classes/Control.xml
msgid ""
@@ -17296,14 +17323,15 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if there is a local override for a theme shader "
"with the specified [code]name[/code] in this [Control] node.\n"
"See [method add_shader_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se è un presente un override locale per un "
+"ombreggiatore di tema con lo specifico [code]name[/code] in questo [Control] "
+"nodo.\n"
+"Vedi [method add_shader_override]."
#: doc/classes/Control.xml
msgid ""
@@ -17314,14 +17342,14 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if there is a local override for a theme "
"[StyleBox] with the specified [code]name[/code] in this [Control] node.\n"
"See [method add_stylebox_override]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se è presente un override locale per un tema "
+"[StyleBox] con lo specifico [code]name[/code] in questo [Control] nodo.\n"
+"Vedi [method add_stylebox_override]."
#: doc/classes/Control.xml
msgid ""
@@ -20445,6 +20473,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -23285,7 +23321,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -28290,11 +28329,12 @@ msgid ""
msgstr ""
#: modules/gridmap/doc_classes/GridMap.xml
-#, fuzzy
msgid ""
"Returns an array of all cells with the given item index specified in "
"[code]item[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce un vettore di tutte le celle con il dato elemento indice "
+"specificato in [code]item[/code]."
#: modules/gridmap/doc_classes/GridMap.xml
msgid ""
@@ -28326,11 +28366,12 @@ msgid ""
msgstr ""
#: modules/gridmap/doc_classes/GridMap.xml
-#, fuzzy
msgid ""
"If [code]true[/code], this GridMap uses cell navmesh resources to create "
"navigation regions."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Se [code]true[/code], questa GridMap utilizza celle navmesh come fonti per "
+"creare regioni di navigazione."
#: modules/gridmap/doc_classes/GridMap.xml
msgid "If [code]true[/code], grid items are centered on the X axis."
@@ -30986,11 +31027,12 @@ msgid ""
msgstr ""
#: doc/classes/Input.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if you are pressing the joypad button (see [enum "
"JoystickList])."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce [code]true[/code] se premi un tasto del joypad (vedi [enum "
+"JoystickList])."
#: doc/classes/Input.xml
msgid ""
@@ -31774,11 +31816,13 @@ msgid "Mouse and input coordinates"
msgstr ""
#: doc/classes/InputEventMouseMotion.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] when using the eraser end of a stylus pen.\n"
"[b]Note:[/b] This property is implemented on Linux, macOS and Windows."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce [code]true[/code] quando è in utilizzo la gomma di una penna "
+"stilo.\n"
+"[b]Nota:[/b] Questa proprietà è implementata su Linux, macOS e Windows."
#: doc/classes/InputEventMouseMotion.xml
msgid ""
@@ -33974,9 +34018,8 @@ msgid "Returns the offset of the piece with the index [code]idx[/code]."
msgstr ""
#: doc/classes/LargeTexture.xml
-#, fuzzy
msgid "Returns the [Texture] of the piece with the index [code]idx[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr "Restituisce la [Texture] del pezzo con l'indice [code]idx[/code]."
#: doc/classes/LargeTexture.xml
msgid ""
@@ -34063,7 +34106,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -37223,9 +37268,10 @@ msgid ""
msgstr ""
#: doc/classes/Navigation2DServer.xml
-#, fuzzy
msgid "Returns the map cell height. [b]Note:[/b] Currently not implemented."
-msgstr "Prende la linea corrente nel file analizzato (non ancora implementato)"
+msgstr ""
+"Prende la linea corrente nel file analizzato. [b]Note:[/b] Attualmente non "
+"implementato."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
@@ -37399,7 +37445,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -37652,7 +37701,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37733,13 +37785,12 @@ msgid ""
msgstr ""
#: doc/classes/NavigationMesh.xml
-#, fuzzy
msgid ""
"Returns whether the specified [code]bit[/code] of the [member "
"geometry_collision_mask] is set."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce se lo specifico [code]bit[/code] del [member "
+"geometry_collision_mask] è impostato."
#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml
msgid ""
@@ -38377,6 +38428,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40866,13 +40920,12 @@ msgid ""
msgstr ""
#: doc/classes/Object.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if a connection exists for a given [code]signal[/"
"code], [code]target[/code], and [code]method[/code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se la connessione esiste per un dato "
+"[code]signal[/code], [code]target[/code], e [code]method[/code]."
#: doc/classes/Object.xml
msgid ""
@@ -41195,7 +41248,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -41712,11 +41767,11 @@ msgstr "Restituisce l'angolo al vettore dato, in radianti."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41750,11 +41805,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41776,11 +41831,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42304,11 +42359,12 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if the [b]OK[/b] button should appear on the left "
"and [b]Cancel[/b] on the right."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce [code]true[/code] se il tasto [b]OK[/b] debba apparire a "
+"sinistra e [b]Cancel[/b] a destra."
#: doc/classes/OS.xml
msgid ""
@@ -42320,11 +42376,12 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if the input scancode corresponds to a Unicode "
"character."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce [code]true[/code] se l'input scancode corrisponde a un carattere "
+"Unicode."
#: doc/classes/OS.xml
msgid ""
@@ -43140,7 +43197,6 @@ msgid ""
msgstr ""
#: doc/classes/PacketPeer.xml
-#, fuzzy
msgid ""
"[i]Deprecated.[/i] Use [code]get_var[/code] and [code]put_var[/code] "
"parameters instead.\n"
@@ -43150,12 +43206,14 @@ msgid ""
"Do not use this option if the serialized object comes from untrusted sources "
"to avoid potential security threats such as remote code execution."
msgstr ""
-"Decodifica un byte array in un valore. Quando [code]allow_objects[/code] è "
-"[code]true[/code], decodificare gli oggetti è permesso.\n"
-"[b]ATTENZIONE:[/b] Deserializzare un oggetto può contenere codice che verrà "
+"[i]Deprecated.[/i] Usa i parametri [code]get_var[/code] e [code]put_var[/"
+"code] piuttosto.\n"
+"Se [code]true[/code], il PacketPeer consentirà la codifica e decodifica di "
+"oggetti tramite [method get_var] and [method put_var].\n"
+"[b]Attenzione:[/b] Oggetti deserializzati possono contenere codice che verrà "
"eseguito. Non usare questa opzione se l'oggetto serializzato arriva da fonti "
-"sconosciute per evitare potenziali pericoli di sicurezza (remote code "
-"execution, esecuzione di codice remoto)."
+"inaffidabili per evitare potenziali minacce di sicurezza come esecuzione di "
+"codice remoto."
#: doc/classes/PacketPeer.xml
msgid ""
@@ -43659,6 +43717,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -46826,11 +46894,12 @@ msgstr ""
#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
#: doc/classes/PoolStringArray.xml doc/classes/PoolVector2Array.xml
#: doc/classes/PoolVector3Array.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if the array contains the given value.\n"
"[b]Note:[/b] This is equivalent to using the [code]in[/code] operator."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Ritorna [code]true[/code] se il vettore contiene il dato valore.\n"
+"[b]Nota:[/b] Ciò equivale ad utilizzare il [code]in[/code] operatore."
#: doc/classes/PoolByteArray.xml
msgid ""
@@ -47084,11 +47153,12 @@ msgid "Appends a [PoolStringArray] at the end of this array."
msgstr ""
#: doc/classes/PoolStringArray.xml
-#, fuzzy
msgid ""
"Returns a [String] with each element of the array joined with the given "
"[code]delimiter[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce una [String] con cui ogni elemento del vettore aderì con il dato "
+"[code]delimiter[/code]."
#: doc/classes/PoolStringArray.xml
msgid "Appends a string element at end of the array."
@@ -47570,11 +47640,13 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-#, fuzzy
msgid ""
"Sets the currently focused item as the given [code]index[/code].\n"
"Passing [code]-1[/code] as the index makes so that no item is focused."
-msgstr "Calcola il prodotto vettoriale di questo vettore e [code]with[/code]."
+msgstr ""
+"Imposta l'attuale elemento focalizzato come il dato [code]index[/code].\n"
+"Passando [code]-1[/code] come indice fa in modo che nessun elemento venga "
+"focalizzato."
#: doc/classes/PopupMenu.xml
msgid "Hides the [PopupMenu] when the window loses focus."
@@ -51264,15 +51336,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51911,14 +51990,14 @@ msgid "Returns the inverse of the quaternion."
msgstr ""
#: doc/classes/Quat.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if this quaternion and [code]quat[/code] are "
"approximately equal, by running [method @GDScript.is_equal_approx] on each "
"component."
msgstr ""
-"Restituisce [code]true[/code] se [code]a[/code] e [code]b[/code] sono "
-"approssimativamente uguali tra di loro."
+"Restituisce [code]true[/code] se questo quaternione e [code]quat[/code] "
+"sono approssimativament eguali, avviando [method @GDScript.is_equal_approx] "
+"su ogni componente."
#: doc/classes/Quat.xml
msgid "Returns whether the quaternion is normalized or not."
@@ -52875,17 +52954,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52894,8 +52984,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -53299,11 +53395,12 @@ msgid ""
msgstr ""
#: doc/classes/ResourceInteractiveLoader.xml
-#, fuzzy
msgid ""
"Returns the loaded resource if the load operation completed successfully, "
"[code]null[/code] otherwise."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce la fonte caricata se l'operazione caricata è stata completata "
+"con successo, [code]null[/code] altrimenti."
#: doc/classes/ResourceInteractiveLoader.xml
msgid ""
@@ -55614,7 +55711,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57453,7 +57554,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58835,7 +58938,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58851,7 +58957,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -61956,20 +62064,20 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/TextEdit.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] when the specified [code]line[/code] has a "
"breakpoint."
-msgstr "Ritorna [code]true[/code] se [Rect2i] contiene un punto."
+msgstr ""
+"Restituisce [code]true[/code] quando lo specificato [code]line[/code] ha un "
+"breakpoint."
#: doc/classes/TextEdit.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] when the specified [code]line[/code] is marked as "
"safe."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] quando lo specifico [code]line[/code] è "
+"marcato come sicuro."
#: doc/classes/TextEdit.xml
#, fuzzy
@@ -61977,13 +62085,12 @@ msgid "Returns if the given line is wrapped."
msgstr "Restituisce la tangente del parametro."
#: doc/classes/TextEdit.xml
-#, fuzzy
msgid ""
"Returns whether the mouse is over selection. If [code]edges[/code] is "
"[code]true[/code], the edges are considered part of the selection."
msgstr ""
-"Restituisce [code]true[/code] se [code]a[/code] e [code]b[/code] sono "
-"approssimativamente uguali tra di loro."
+"Restituisce se il mouse è sotto selezione. Se [code]edges[/code] è "
+"[code]true[/code], gli angoli sono considerati parte della selezione"
#: doc/classes/TextEdit.xml
msgid "Returns [code]true[/code] if the selection is active."
@@ -63034,11 +63141,12 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears the theme item of [code]data_type[/code] at [code]name[/code] if the "
"theme has [code]theme_type[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Pulisce l'elemento del tema di [code]data_type[/code] a [code]name[/code] se "
+"il tema contiene [code]theme_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -63062,12 +63170,14 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the [Color]s as a [PoolStringArray] filled with each [Color]'s "
"name, for use in [method get_color], if the theme has [code]theme_type[/"
"code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce tutto il [Color]s come un [PoolStringArray] riempito di "
+"[Color]'s nomi, per utilizzo in [method get_color], se il tema ha "
+"[code]theme_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -63083,12 +63193,14 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the constants as a [PoolStringArray] filled with each constant's "
"name, for use in [method get_constant], if the theme has [code]theme_type[/"
"code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce tutte le costanti come [PoolStringArray] carico dei nomi di ogni "
+"costante, per utilizzo in [method get_constant], se il tema contiene "
+"[code]theme_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -63105,11 +63217,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the [Font]s as a [PoolStringArray] filled with each [Font]'s "
"name, for use in [method get_font], if the theme has [code]theme_type[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce i [Font]s come [PoolStringArray] carico con ogni [Font]'s nomi, "
+"per utilizzo in [method get_font], se il tema ha [code]theme_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -63125,11 +63238,13 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the icons as a [PoolStringArray] filled with each [Texture]'s "
"name, for use in [method get_icon], if the theme has [code]theme_type[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce tutte le icona come [PoolStringArray] cariche di ogni "
+"[Texture]'s nomi, per utilizzo in [method get_icon], se il tema contiene "
+"[code]theme_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -63202,83 +63317,87 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns a list of all type variations for the given [code]base_type[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce una lista di tutti i tipi di variazioni per il dato "
+"[code]base_type[/code]."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se [Color] con [code]name[/code] è in "
+"[code]theme_type[/code].\n"
+"Restituisce [code]false[/code] se il tema non ha [code]theme_type[/code]."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if constant with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se costante con [code]name[/code] è in "
+"[code]theme_type[/code].\n"
+"Restituisce [code]false[/code] se il tema non contiene [code]theme_type[/"
+"code]."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if this theme has a valid [member default_font] "
"value."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce [code]true[/code] se questo tema ha un valido [member "
+"default_font] valore."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [Font] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se [Font] con [code]name[/code] è in "
+"[code]theme_type[/code].\n"
+"Restituisce [code]false[/code] se il tema non contiene [code]theme_type[/"
+"code]."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if icon [Texture] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se l'icona [Texture] con [code]name[/code] è "
+"in [code]theme_type[/code].\n"
+"Restituisce [code]false[/code] se il tema non ha [code]theme_type[/code]."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se [StyleBox] con [code]name[/code] è in "
+"[code]theme_type[/code].\n"
+"Restituisce [code]false[/code] se il tema non ha [code]theme_type[/code]."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if a theme item of [code]data_type[/code] with "
"[code]name[/code] is in [code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Restituisce [code]true[/code] se un elemento del tema di [code]data_type[/"
+"code] con [code]name[/code] è in [code]theme_type[/code].\n"
+"Restituisce [code]false[/code] se il tema non ha [code]theme_type[/code]."
#: doc/classes/Theme.xml
#, fuzzy
@@ -63306,44 +63425,54 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the [Color] at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Rinomina il [Color] da [code]old_name[/code] a [code]name[/code] se il tema "
+"ha [code]theme_type[/code]. Se [code]name[/code] è già occupato, questo "
+"metodo non può funzionare."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the constant at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Rinomina la costante da [code]old_name[/code] a [code]name[/code] se il tema "
+"ha [code]theme_type[/code]. Se [code]name[/code] è già occupato, questo "
+"metodo non può funzionare."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the [Font] at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Rinomina il [Font] da [code]old_name[/code] a [code]name[/code] se il tema "
+"ha [code]theme_type[/code]. Se [code]name[/code] è già occupato, questo "
+"metodo non può funzionare."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the icon at [code]old_name[/code] to [code]name[/code] if the theme "
"has [code]theme_type[/code]. If [code]name[/code] is already taken, this "
"method fails."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Rinomina l'icona da [code]old_name[/code] a [code]name[/code] se il tema ha "
+"[code]theme_type[/code]. Se [code]name[/code] è già occupato, questo metodo "
+"non può funzionare."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames [StyleBox] at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Rinomina [StyleBox] da [code]old_name[/code] a [code]name[/code] se il tema "
+"ha [code]theme_type[/code]. Se [code]name[/code] è già occupato, questo "
+"metodo non può funzionare."
#: doc/classes/Theme.xml
msgid ""
@@ -63353,57 +63482,56 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Imposta il [Color] del tema da [code]color[/code] a [code]name[/code] in "
+"[code]theme_type[/code].\n"
+"Crea [code]theme_type[/code] se il tema non ce l'ha."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's constant to [code]constant[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Imposta la costante del tema da [code]constant[/code] a [code]name[/code] in "
+"[code]theme_type[/code].\n"
+"Crea [code]theme_type[/code]se il tema non ce l'ha."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Imposta il [Font] del tema da [code]font[/code] a [code]name[/code] in "
+"[code]theme_type[/code].\n"
+"Crea [code]theme_type[/code] se il tema non ce l'ha."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's icon [Texture] to [code]texture[/code] at [code]name[/code] "
"in [code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Imposta l'icona del tema [Texture] da [code]texture[/code] a [code]name[/"
+"code] in [code]theme_type[/code].\n"
+"Crea [code]theme_type[/code] se il tema non ce l'ha."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Imposta lo [StyleBox] del tema da [code]stylebox[/code] a [code]name[/code] "
+"in [code]theme_type[/code].\n"
+"Crea [code]theme_type[/code] se il tema non ce l'ha."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme item of [code]data_type[/code] to [code]value[/code] at "
"[code]name[/code] in [code]theme_type[/code].\n"
@@ -63411,8 +63539,11 @@ msgid ""
"code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
-"esiste, [code]false[/code] altrimenti."
+"Imposta l'elemento del tema di [code]data_type[/code] da [code]value[/code] "
+"a [code]name[/code] in [code]theme_type[/code].\n"
+"Non funziona se il modello [code]value[/code] non combacia con "
+"[code]data_type[/code].\n"
+"Crea [code]theme_type[/code] se il tema non ce l'ha."
#: doc/classes/Theme.xml
msgid ""
@@ -65695,9 +65826,8 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/TreeItem.xml
-#, fuzzy
msgid "Returns the number of buttons in column [code]column[/code]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr "Restituisce il numero dei tasti in colonna [code]column[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
@@ -67300,12 +67430,12 @@ msgid ""
msgstr ""
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if the vector is normalized, [code]false[/code] "
"otherwise."
msgstr ""
-"Ritorna [code]true[/code] se il vettore è normalizzato, o falso altrimenti."
+"Restituisce [code]true[/code] se il vettore è normalizzato, [code]false[/"
+"code] altrimenti."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Returns the length (magnitude) of this vector."
@@ -67332,13 +67462,12 @@ msgid ""
msgstr ""
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
-#, fuzzy
msgid ""
"Returns a new vector moved toward [code]to[/code] by the fixed [code]delta[/"
"code] amount. Will not go past the final value."
msgstr ""
-"Restituisce [code]true[/code] se [code]a[/code] e [code]b[/code] sono "
-"approssimativamente uguali tra di loro."
+"Restituisce un nuovo vettore mosso verso [code]to[/code] da una quantità "
+"fissa [code]delta[/code]. Non va oltre il valore finale."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -68226,10 +68355,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -68240,8 +68374,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -68305,11 +68439,12 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
-#, fuzzy
msgid ""
"If [code]true[/code], the viewport will use a unique copy of the [World] "
"defined in [member world]."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Se [code]true[/code], il viewport utilizzerà una copia unica del [World] "
+"definito in [member world]."
#: doc/classes/Viewport.xml
msgid ""
@@ -68399,7 +68534,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68931,6 +69068,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
@@ -70125,7 +70278,6 @@ msgid "Pi divided by two: [code]1.570796[/code]."
msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
-#, fuzzy
msgid "Tau: [code]6.283185[/code]."
msgstr "Tau: [code]6.283185[/code]."
@@ -70140,9 +70292,8 @@ msgid "Square root of two: [code]1.414214[/code]."
msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
-#, fuzzy
msgid "Infinity: [code]inf[/code]."
-msgstr "Infinito: [code]inf[/code]."
+msgstr "Infinità: [code]inf[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Not a number: [code]nan[/code]."
@@ -71887,11 +72038,12 @@ msgid "Returns the value of a certain material's parameter."
msgstr ""
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid ""
"Returns the default value for the param if available. Returns [code]null[/"
"code] otherwise."
-msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
+msgstr ""
+"Restituisce il valore predefinito per il parametro, se disponibile. "
+"Altrimenti restituisce [code]null[/code]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -76974,19 +77126,21 @@ msgid ""
"Gets the value of the attribute specified by the index in [code]idx[/code] "
"argument."
msgstr ""
-"Prende il nome dell'attributo specificato dall'indice nell'argomento "
+"Prende il valore dell'attributo specificato dall'indice nell'argomento "
"[code]idx[/code]."
#: doc/classes/XMLParser.xml
-#, fuzzy
msgid "Gets the current line in the parsed file (currently not implemented)."
-msgstr "Prende la linea corrente nel file analizzato (non ancora implementato)"
+msgstr ""
+"Prende la linea corrente nel file analizzato (non ancora implementato)."
#: doc/classes/XMLParser.xml
msgid ""
"Gets the value of a certain attribute of the current element by name. This "
"will raise an error if the element has no such attribute."
msgstr ""
+"Prende il valore di un certo attributo dell'elemento corrente usando il "
+"nome. Questo darà errore se l'elemento non ha tale attributo."
#: doc/classes/XMLParser.xml
msgid ""
@@ -77061,13 +77215,12 @@ msgstr ""
"legge il nodo seguente. Questo ritorna un codice errore."
#: doc/classes/XMLParser.xml
-#, fuzzy
msgid ""
"Skips the current section. If the node contains other elements, they will be "
"ignored and the cursor will go to the closing of the current element."
msgstr ""
"Salta la sezione corrente. Se il nodo contiene altri elementi, questi "
-"saranno ignorati e il cursore andrà alla chiusura dell'elemento corrente"
+"saranno ignorati e il cursore andrà alla chiusura dell'elemento corrente."
#: doc/classes/XMLParser.xml
#, fuzzy
diff --git a/doc/translations/ja.po b/doc/translations/ja.po
index f5217e9b83..cabf1da54a 100644
--- a/doc/translations/ja.po
+++ b/doc/translations/ja.po
@@ -12,12 +12,13 @@
# Tarou Yamada <mizuningyou@yahoo.co.jp>, 2021.
# sugusan <sugusan.development@gmail.com>, 2022.
# Juto <mvobujd237@gmail.com>, 2022.
+# ta ko <neji.cion@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-02-14 22:08+0000\n"
-"Last-Translator: Wataru Onuki <bettawat@yahoo.co.jp>\n"
+"PO-Revision-Date: 2022-11-21 00:47+0000\n"
+"Last-Translator: ta ko <neji.cion@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ja/>\n"
"Language: ja\n"
@@ -25,7 +26,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 4.11-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -713,8 +714,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -729,7 +732,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"ç¾åœ¨ã®ã‚³ãƒ¼ãƒ«ã‚¹ã‚¿ãƒƒã‚¯ã‚’辞書ã®é…列ã¨ã—ã¦è¿”ã—ã¾ã™ã€‚\n"
"[codeblock]\n"
@@ -1358,19 +1365,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"コードä½ç½®ã®ã‚¹ã‚¿ãƒƒã‚¯ãƒˆãƒ©ãƒƒã‚¯ã‚’表示ã—ã¾ã™ã€‚デãƒãƒƒã‚¬ã‚’有効ã«ã—ã¦å®Ÿè¡Œã—ãŸæ™‚ã«ã®"
-"ã¿å‹•ä½œã—ã¾ã™ã€‚\n"
-"コンソール内ã§ã®å‡ºåŠ›ã¯ã“ã®ã‚ˆã†ã«ãªã‚Šã¾ã™:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1600,6 +1605,41 @@ msgid ""
"3\n"
"[/codeblock]"
msgstr ""
+":指定ã•ã‚ŒãŸç¯„囲ã®é…列を返ã—ã¾ã™ã€‚[method range] ã¯3ã¤ã®æ–¹æ³•ã§å‘¼ã³å‡ºã™ã“ã¨ãŒã§"
+"ãã¾ã™ã€‚\n"
+"[code]range(n: int)[/code]:0ã‹ã‚‰å§‹ã¾ã‚Šã€1ãšã¤å¢—加ã—ã€[code]n[/code]ã®[i]å‰ [/"
+"i] ã§åœæ­¢ã—ã€å¼•æ•°[code]n[/code]ã¯[b]å«ã¾ã‚Œã¾ã›ã‚“[/b]。[i]\n"
+"[code]range(b: int, n: int)[/code]:[code]b[/code]ã‹ã‚‰å§‹ã¾ã‚Šã€1ãšã¤å¢—加ã—ã€"
+"[code]n[/code]ã® [i] å‰ [/i] ã§åœæ­¢ã—ã¾ã™ã€‚引数 [code]b[/code] 㯠[b] å«ã¾ã‚Œ"
+"ã¾ã™[/b] ãŒã€ [code]n[/code] 㯠[b]å«ã¾ã‚Œã¾ã›ã‚“[/b] 。\n"
+"[code]range(b: int, n: int, s: int)[/code]:[code]b[/code]ã‹ã‚‰å§‹ã¾ã‚Šã€"
+"[code]s[/code]ã®ã‚¹ãƒ†ãƒƒãƒ—ã§å¢—加/減少ã—ã€[code]n[/code]ã®[i]å‰ [/i] ã§åœæ­¢ã—ã¾"
+"ã™ã€‚引数 [code]b[/code] 㯠[b] å«ã¾ã‚Œã¾ã™[/b] ãŒã€ [code]n[/code] 㯠[b]å«ã¾"
+"ã‚Œã¾ã›ã‚“[/b] 。。引数 [code]s[/code] [b]can[/b] ã¯è² ã®å€¤ã‚’指定ã§ãã¾ã™ãŒã€"
+"[code]0[/code] ã¯æŒ‡å®šã§ãã¾ã›ã‚“。[code]s[/code] ㌠[code]0[/code] ã®å ´åˆã€ã‚¨"
+"ラーメッセージãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚\n"
+"[method range]ã¯ã€å‡¦ç†å‰ã«ã™ã¹ã¦ã®å¼•æ•°ã‚’[int]ã«å¤‰æ›ã—ã¾ã™\n"
+"[b]注:[/b] 値ã®åˆ¶ç´„を満ãŸã™å€¤ãŒãªã„å ´åˆã€ç©ºã®é…列を返ã—ã¾ã™ã€‚(例:"
+"[code]range(2, 5, -1)[/code] ã¾ãŸã¯ [code]range(5, 5, 1)[/code])\n"
+"Examples:\n"
+"[codeblock]\n"
+"print(range(4)) # [0, 1, 2, 3]ã¨å‡ºåŠ›ã™ã‚‹\n"
+"print(range(2, 5)) # [2, 3, 4]ã¨å‡ºåŠ›ã™ã‚‹\n"
+"print(range(0, 6, 2)) # [0, 2, 4]ã¨å‡ºåŠ›ã™ã‚‹\n"
+"print(range(4, 1, -1)) # [4, 3, 2]ã¨å‡ºåŠ›ã™ã‚‹\n"
+"[/codeblock]\n"
+"[Array]を後方ã‹ã‚‰å‚ç…§ã™ã‚‹ã«ã¯\n"
+"[codeblock]\n"
+"var array = [3, 6, 9]\n"
+"for i in range(array.size(), 0, -1):\n"
+" print(array[i - 1])\n"
+"[/codeblock]\n"
+"Output:\n"
+"[codeblock]\n"
+"9\n"
+"6\n"
+"3\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4465,6 +4505,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr "ç”»åƒã¯ãƒ­ã‚¹ãƒ¬ã‚¹åœ§ç¸®ã«ã‚ˆã‚Šåœ§ç¸®ã•ã‚Œã¦ã„ã‚‹ã¨ã„ã†ãƒ’ント。"
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
"プロパティã¯ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•ã‚Œã€ã‚·ãƒ¼ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚Œã¾ã™ (デフォルト) 。"
@@ -5298,8 +5358,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -9145,7 +9204,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -9370,8 +9432,12 @@ msgstr ""
"[code]step[/code]ã¯ã‚¹ãƒ©ã‚¤ã‚¹ä¸­ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹é–“ã®å¤‰åŒ–を表ã—ã¾ã™ã€‚"
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -9401,9 +9467,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -12624,12 +12694,14 @@ msgid "Clears the audio sample data buffer."
msgstr "byteã§æ ¼ç´ã•ã‚ŒãŸã‚ªãƒ¼ãƒ‡ã‚£ã‚ªãƒ‡ãƒ¼ã‚¿ã§ã™ã€‚"
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"[code]name[/code] ã¨ã„ã†åå‰ã§æŒ‡å®šã—ãŸè¨­å®šãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯ [code]true[/"
+"code]ã€ãã†ã§ãªã„å ´åˆã¯ [code]false[/code] ã‚’è¿”ã—ã¾ã™ã€‚"
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -13234,14 +13306,14 @@ msgstr ""
#, fuzzy
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
"ç¾åœ¨è¡¨ç¤ºã•ã‚Œã¦ã„ã‚‹ç”»é¢ã‚’ãƒãƒƒã‚¯ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã™ã‚‹ãŸã‚ã®ãƒŽãƒ¼ãƒ‰ã€‚BackBufferCopy "
@@ -13260,27 +13332,31 @@ msgid "Buffer mode. See [enum CopyMode] constants."
msgstr "ãƒãƒƒãƒ•ã‚¡ãƒ¢ãƒ¼ãƒ‰ã€‚ [enum CopyMode]定数をå‚ç…§ã—ã¦ãã ã•ã„。"
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
"BackBufferCopyã§ã‚«ãƒãƒ¼ã•ã‚Œã‚‹é ˜åŸŸã€‚ [member copy_mode]ãŒ[constant "
"COPY_MODE_RECT]ã®å ´åˆã«ã®ã¿ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
"ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚° モードを無効ã«ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€BackBufferCopy ノードã¯ã€ã‚«ãƒãƒ¼"
"ã™ã‚‹ç”»é¢ã®éƒ¨åˆ†ã‚’直接使用ã—ã¾ã™ã€‚"
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+#, fuzzy
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr "BackBufferCopyã¯çŸ©å½¢é ˜åŸŸã‚’ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã—ã¾ã™ã€‚"
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+#, fuzzy
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr "BackBufferCopy ã¯ç”»é¢å…¨ä½“ã‚’ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°ã—ã¾ã™ã€‚"
#: doc/classes/BakedLightmap.xml
@@ -22403,6 +22479,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -25251,7 +25335,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -36132,7 +36219,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -39500,7 +39589,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -39757,7 +39849,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -40489,6 +40584,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -43312,7 +43410,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -43832,11 +43932,11 @@ msgstr "指定ã•ã‚ŒãŸåå‰ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ãƒŽãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43870,11 +43970,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43896,11 +43996,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -45792,6 +45892,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -53439,15 +53549,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -55065,17 +55182,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -55084,8 +55212,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -57829,7 +57963,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -59676,7 +59814,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -61322,7 +61462,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -61338,7 +61481,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -70808,10 +70953,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -70822,8 +70972,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -70980,7 +71130,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -71521,6 +71673,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/ko.po b/doc/translations/ko.po
index a744804896..72a7780a4c 100644
--- a/doc/translations/ko.po
+++ b/doc/translations/ko.po
@@ -18,12 +18,13 @@
# 김태우 <ogosengi3@gmail.com>, 2022.
# ì´ì§€ë¯¼ <jiminaleejung@gmail.com>, 2022.
# nulltable <un5450@naver.com>, 2022.
+# Godoto <aicompose@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-26 05:24+0000\n"
-"Last-Translator: nulltable <un5450@naver.com>\n"
+"PO-Revision-Date: 2022-10-18 18:00+0000\n"
+"Last-Translator: Godoto <aicompose@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ko/>\n"
"Language: ko\n"
@@ -31,7 +32,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 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -47,7 +48,7 @@ msgstr "ì†ì„±"
#: doc/tools/make_rst.py
msgid "Methods"
-msgstr "메서드"
+msgstr "방법"
#: doc/tools/make_rst.py
msgid "Theme Properties"
@@ -55,11 +56,11 @@ msgstr "테마 ì†ì„±ë“¤"
#: doc/tools/make_rst.py
msgid "Signals"
-msgstr "시그ë„"
+msgstr "신호"
#: doc/tools/make_rst.py
msgid "Enumerations"
-msgstr "열거형"
+msgstr "목ë¡"
#: doc/tools/make_rst.py
msgid "Constants"
@@ -626,7 +627,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -641,7 +643,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1028,12 +1034,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3659,6 +3669,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4343,8 +4373,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7264,7 +7293,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7449,6 +7481,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7468,9 +7503,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10109,10 +10148,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10644,14 +10682,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10661,22 +10699,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19513,6 +19551,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22408,7 +22454,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33147,7 +33196,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36475,7 +36526,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36725,7 +36779,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37442,6 +37499,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40378,7 +40438,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40894,11 +40956,11 @@ msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì•„í¬ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40932,11 +40994,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40958,11 +41020,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42824,6 +42886,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50425,15 +50497,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52030,17 +52109,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52049,8 +52139,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54766,7 +54862,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56603,7 +56703,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57981,7 +58083,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57997,7 +58102,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67281,10 +67388,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67295,8 +67407,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67448,7 +67560,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67980,6 +68094,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/lt.po b/doc/translations/lt.po
index f744f60e12..1cf0ffef48 100644
--- a/doc/translations/lt.po
+++ b/doc/translations/lt.po
@@ -485,7 +485,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -500,7 +501,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -873,12 +878,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3489,6 +3498,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4173,8 +4202,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7091,7 +7119,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7276,6 +7307,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7295,9 +7329,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9935,10 +9973,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10470,14 +10507,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10487,22 +10524,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19282,6 +19319,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22114,7 +22159,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32826,7 +32874,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36124,7 +36174,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36372,7 +36425,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37082,6 +37138,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39888,7 +39947,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40399,11 +40460,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40437,11 +40498,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40463,11 +40524,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42314,6 +42375,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49906,15 +49977,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51510,17 +51588,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51529,8 +51618,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54245,7 +54340,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56082,7 +56181,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57460,7 +57561,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57476,7 +57580,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66713,10 +66819,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66727,8 +66838,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66880,7 +66991,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67412,6 +67525,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/lv.po b/doc/translations/lv.po
index 1b6d5f9cd5..fd9ddf6f51 100644
--- a/doc/translations/lv.po
+++ b/doc/translations/lv.po
@@ -490,7 +490,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -505,7 +506,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -878,12 +883,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3494,6 +3503,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4178,8 +4207,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7096,7 +7124,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7281,6 +7312,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7300,9 +7334,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9940,10 +9978,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10475,14 +10512,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10492,22 +10529,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19287,6 +19324,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22119,7 +22164,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32834,7 +32882,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36132,7 +36182,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36380,7 +36433,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37090,6 +37146,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39896,7 +39955,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40407,11 +40468,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40445,11 +40506,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40471,11 +40532,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42322,6 +42383,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49914,15 +49985,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51518,17 +51596,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51537,8 +51626,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54253,7 +54348,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56090,7 +56189,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57468,7 +57569,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57484,7 +57588,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66721,10 +66827,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66735,8 +66846,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66888,7 +66999,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67420,6 +67533,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/mr.po b/doc/translations/mr.po
index 3636dbf68f..19db2e5f94 100644
--- a/doc/translations/mr.po
+++ b/doc/translations/mr.po
@@ -473,7 +473,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -488,7 +489,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -861,12 +866,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3477,6 +3486,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4161,8 +4190,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7079,7 +7107,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7264,6 +7295,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7283,9 +7317,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9923,10 +9961,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10458,14 +10495,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10475,22 +10512,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19270,6 +19307,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22102,7 +22147,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32814,7 +32862,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36112,7 +36162,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36360,7 +36413,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37070,6 +37126,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39876,7 +39935,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40387,11 +40448,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40425,11 +40486,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40451,11 +40512,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42302,6 +42363,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49894,15 +49965,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51498,17 +51576,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51517,8 +51606,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54233,7 +54328,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56070,7 +56169,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57448,7 +57549,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57464,7 +57568,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66701,10 +66807,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66715,8 +66826,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66868,7 +66979,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67400,6 +67513,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/nb.po b/doc/translations/nb.po
index 9a861d8287..3b7f482e48 100644
--- a/doc/translations/nb.po
+++ b/doc/translations/nb.po
@@ -485,7 +485,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -500,7 +501,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -873,12 +878,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3489,6 +3498,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4173,8 +4202,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7091,7 +7119,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7276,6 +7307,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7295,9 +7329,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9935,10 +9973,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10470,14 +10507,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10487,22 +10524,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19282,6 +19319,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22114,7 +22159,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32826,7 +32874,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36124,7 +36174,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36372,7 +36425,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37082,6 +37138,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39888,7 +39947,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40399,11 +40460,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40437,11 +40498,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40463,11 +40524,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42314,6 +42375,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49906,15 +49977,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51510,17 +51588,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51529,8 +51618,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54245,7 +54340,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56082,7 +56181,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57460,7 +57561,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57476,7 +57580,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66713,10 +66819,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66727,8 +66838,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66880,7 +66991,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67412,6 +67525,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/ne.po b/doc/translations/ne.po
index 84cf5c569c..c616f7b4e1 100644
--- a/doc/translations/ne.po
+++ b/doc/translations/ne.po
@@ -473,7 +473,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -488,7 +489,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -861,12 +866,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3477,6 +3486,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4161,8 +4190,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7079,7 +7107,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7264,6 +7295,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7283,9 +7317,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9923,10 +9961,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10458,14 +10495,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10475,22 +10512,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19270,6 +19307,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22102,7 +22147,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32814,7 +32862,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36112,7 +36162,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36360,7 +36413,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37070,6 +37126,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39876,7 +39935,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40387,11 +40448,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40425,11 +40486,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40451,11 +40512,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42302,6 +42363,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49894,15 +49965,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51498,17 +51576,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51517,8 +51606,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54233,7 +54328,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56070,7 +56169,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57448,7 +57549,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57464,7 +57568,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66701,10 +66807,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66715,8 +66826,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66868,7 +66979,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67400,6 +67513,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/nl.po b/doc/translations/nl.po
index 6b89702dec..cf40d032cf 100644
--- a/doc/translations/nl.po
+++ b/doc/translations/nl.po
@@ -535,7 +535,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -550,7 +551,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -923,12 +928,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3547,6 +3556,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4231,8 +4260,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7149,7 +7177,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7334,6 +7365,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7353,9 +7387,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9993,10 +10031,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10528,14 +10565,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10545,22 +10582,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19340,6 +19377,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22172,7 +22217,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32887,7 +32935,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36185,7 +36235,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36433,7 +36486,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37143,6 +37199,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39949,7 +40008,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40460,11 +40521,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40498,11 +40559,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40524,11 +40585,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42375,6 +42436,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49967,15 +50038,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51571,17 +51649,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51590,8 +51679,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54307,7 +54402,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56144,7 +56243,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57522,7 +57623,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57538,7 +57642,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66775,10 +66881,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66789,8 +66900,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66942,7 +67053,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67474,6 +67587,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/pl.po b/doc/translations/pl.po
index 0bc778f703..cd2bedd302 100644
--- a/doc/translations/pl.po
+++ b/doc/translations/pl.po
@@ -23,13 +23,14 @@
# Katarzyna Twardowska <katarina.twardowska@gmail.com>, 2022.
# Mateusz Zdrzałek <matjozohd@gmail.com>, 2022.
# Pixel Zone - Godot Engine Tutorials <karoltomaszewskimusic@gmail.com>, 2022.
+# Filip Gliszczyński <filipgliszczynski@gmail.com>, 2022.
+# Piotr Åšlusarz <piotrekslusarz@outlook.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-15 20:00+0000\n"
-"Last-Translator: Pixel Zone - Godot Engine Tutorials "
-"<karoltomaszewskimusic@gmail.com>\n"
+"PO-Revision-Date: 2022-10-30 01:15+0000\n"
+"Last-Translator: Piotr Åšlusarz <piotrekslusarz@outlook.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/pl/>\n"
"Language: pl\n"
@@ -38,7 +39,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 4.13-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -500,7 +501,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Compares two values by checking their actual contents, recursing into any "
"[Array] or [Dictionary] up to its deepest level.\n"
@@ -523,17 +523,17 @@ msgstr ""
"Porównuje dwie wartości, sprawdzając ich rzeczywistą zawartość, przechodząc "
"do dowolnej „tablicy†lub „słownika†aż do najgłębszego poziomu.\n"
"Można to porównać do [code]==[/code] na kilka sposobów:\n"
-"— Dla [kod]null[/code], [kod]int[/code], [code]float[/code], [code]String[/"
+"— Dla [code]null[/code], [code]int[/code], [code]float[/code], [code]String[/"
"code], [code]Object[/code] i [code] RID[/code] zarówno [code]deep_equal[/"
"code], jak i [code]==[/code] działają tak samo.\n"
"— W przypadku [code]Słownik[/code] [code]==[/code] uwzględnia równość wtedy "
"i tylko wtedy, gdy obie zmienne wskazujÄ… ten sam [code]SÅ‚ownik[/code], bez "
"rekurencji lub świadomości zawartość w ogóle.\n"
-"— W przypadku [kod]Tablica[/kod] [kod]==[/kod] uwzględnia równość wtedy i "
-"tylko wtedy, gdy każdy element w pierwszej [kod]Tablica[/kod] jest równy "
-"swojemu odpowiednikowi w drugiej [ kod]Tablica[/kod], jak mówi sam [kod]==[/"
-"kod]. Oznacza to, że [code]==[/code] jest rekursywny w [code]Tablicy[/code], "
-"ale nie w [code]SÅ‚owniku[/code].\n"
+"— W przypadku [code]Tablica[/code] [code]==[/code] uwzględnia równość wtedy "
+"i tylko wtedy, gdy każdy element w pierwszej [code]Tablica[/code] jest równy "
+"swojemu odpowiednikowi w drugiej [code]Tablica[/code], jak mówi sam "
+"[code]==[/code]. Oznacza to, że [code]==[/code] jest rekursywny w "
+"[code]Tablicy[/code], ale nie w [code]SÅ‚owniku[/code].\n"
"Krótko mówiąc, za każdym razem, gdy potencjalnie zaangażowany jest "
"[code]Słownik[/code], jeśli chcesz prawdziwego porównania uwzględniającego "
"zawartość, musisz użyć [code]deep_equal[/code]."
@@ -619,7 +619,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Rounds [code]s[/code] downward (towards negative infinity), returning the "
"largest whole number that is not more than [code]s[/code].\n"
@@ -633,13 +632,12 @@ msgid ""
"[code]s[/code] is a non-negative number, you can use [code]int(s)[/code] "
"directly."
msgstr ""
-"Zaokrągla [code]s[/code] w dół (do nieskończoności ujemnej), zwraca "
+"Zaokrągla [code]s[/code] w dół (do ujemnej nieskończoności), zwraca "
"najwyższą liczbę całkowitą która jest nie większa niż [code]s[/code].\n"
"[codeblock]\n"
-"# a to 2.0\n"
-"a = floor(2.99)\n"
-"# a to-3.0\n"
-"a = floor(-2.99)\n"
+"a = floor(2.45) # a to 2.0\n"
+"a = floor(2.99) # a to 2.0\n"
+"a = floor(-2.99) # a to-3.0\n"
"[/codeblock]\n"
"[b]Informacja:[/b] Ta metoda zwraca liczbę zmiennoprzecinkową, jeżeli chcesz "
"liczby całkowitej użyj bezpośrednio metody [code]int(s)[/code]."
@@ -725,8 +723,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -741,7 +741,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Zwraca tablicę słowników reprezentującą obecny stos wykonywanych funkcji.\n"
"[codeblock]\n"
@@ -849,6 +853,26 @@ msgid ""
"See also [method lerp] which performs the reverse of this operation, and "
"[method range_lerp] to map a continuous series of values to another."
msgstr ""
+"Zwraca współczynnik interpolacji lub ekstrapolacji w zależności od zakresu "
+"zdefiniowanego w [code]from[/code] i [code]to[/code] oraz wartość "
+"interopolowaną zdefiniowaną w [code]weight[/code]. Zwrócona wartość znajduje "
+"się pomiędzy [code]0.0[/code] i [code]1.0[/code] jeśli [code]weight[/code] "
+"jest pomiędzy [code]from[/code] i [code]to[/code] (włącznie). Jeśli "
+"[code]weight[/code] znajduje się poza zakresem, współczynnik ekstrapolacji "
+"zostanie zwrócony (zwraca wartość mniejszą od [code]0.0[/code] lub większą "
+"od [code]1.0[/code]). Użyj [method clamp] na wyniku [method inverse_lerp] "
+"jeśli chcesz tego uniknąć. \n"
+"[codeblock] \n"
+"# Stosunek interpolacji w zawołaniu `lerp()` poniżej to 0.75. \n"
+"var middle = lerp(20, 30, 0.75) \n"
+"# `middle` ma teraz wartość 27.5. \n"
+"# Teraz udajemy że zapomnieliśmy oryginalnego stosunku i chcemy go "
+"spowrotem. \n"
+"var ratio = inverse_lerp(20,30,27.5) \n"
+"# `ratio` ma teraz wartość 0.75.\n"
+"[/codeblock]\n"
+"Zobacz również [method lerp] która powoduje odwrócenie tej operacji i "
+"[method range_lerp] aby zmapować ciągłą serie wartości do następnej."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1150,6 +1174,22 @@ msgid ""
"[code]0[/code] rather than [code]1[/code] for non-positive values of "
"[code]value[/code] (in reality, 1 is the smallest integer power of 2)."
msgstr ""
+"Zwraca najbliższą wartość całkowitą [code]value[/code] równą lub wyższą "
+"potędze dwójki.\n"
+"Innymi słowy, zwraca najmniejszą wartość [code]a[/code] gdzie [code]a = "
+"pow(2, n)[/code] wtedy i tylko wtedy gdy [code]value <= a[/code] dla jakiejÅ› "
+"dodatniej liczby całkowitej [code]n[/code].\n"
+"[codeblock]\n"
+"nearest_po2(3) # zwraca 4\n"
+"nearest_po2(4) # zwraca 4\n"
+"nearest_po2(5) # zwraca 8\n"
+"\n"
+"nearest_po2(0) # zwraca 0 (niekoniecznie czego byś się spodziewał)\n"
+"nearest_po2(-1) # zwraca 0 (niekoniecznie czego byś się spodziewał)\n"
+"[/codeblock]\n"
+"[b]UWAGA:[/b] Z powodu sposobu implementacji, ta funkcja zwraca [code]0[/"
+"code] w przeciwieństwie do [code]1[/code] dla ujemnych wartości [code]value[/"
+"code] (w rzeczywistości, 1 jest najmniejszą liczbą całkowitą dla potęgi z 2)."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1162,6 +1202,13 @@ msgid ""
"[/codeblock]\n"
"This is the inverse of [method char]."
msgstr ""
+"Zwraca liczbę całkowitą reprezentującą punkt kodu Unicode danego znaku "
+"Unicode [code]char[/code]. [codeblock]\n"
+"a = ord(\"A\") # a wynosi 65\n"
+"a = ord(\"a\") # a wynosi 97\n"
+"a = ord(\"€\") # a wynosi 8364\n"
+"[/codeblock]\n"
+"To jest odwrotność [metody char]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1302,19 +1349,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Wypisuje zrzut stosu w miejscu kodu, działa tylko przy uruchamianiu z "
-"włączonym debuggerem.\n"
-"Wynik w konsoli wyglądać może tak:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -3981,6 +4026,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4665,8 +4730,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7593,7 +7657,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7778,6 +7845,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7797,9 +7867,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10438,10 +10512,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10973,14 +11046,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10990,22 +11063,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19814,6 +19887,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22656,7 +22737,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33427,7 +33511,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36767,7 +36853,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -37023,7 +37112,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37745,6 +37837,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40555,7 +40650,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -41074,11 +41171,11 @@ msgstr "Zwraca kÄ…t w radianach danego wektora."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41112,11 +41209,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41138,11 +41235,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43021,6 +43118,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50624,15 +50731,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52237,17 +52351,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52256,8 +52381,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54976,7 +55107,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56814,7 +56949,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58195,7 +58332,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58211,7 +58351,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67513,10 +67655,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67527,8 +67674,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67686,7 +67833,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68218,6 +68367,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/pt.po b/doc/translations/pt.po
index fce62b474f..d3d9b9aadf 100644
--- a/doc/translations/pt.po
+++ b/doc/translations/pt.po
@@ -18,8 +18,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-25 13:04+0000\n"
-"Last-Translator: Baiterson <baiter160@gmail.com>\n"
+"PO-Revision-Date: 2022-11-18 16:48+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/pt/>\n"
"Language: pt\n"
@@ -27,7 +27,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 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -95,7 +95,7 @@ msgstr "Setter"
#: doc/tools/make_rst.py
msgid "value"
-msgstr "valor"
+msgstr "Valor"
#: doc/tools/make_rst.py
msgid "Getter"
@@ -721,8 +721,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -737,7 +739,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Retorna uma list de dicionários representando a pilha de chamada atual.\n"
"[codeblock]\n"
@@ -1386,19 +1392,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Imprime a pilha de chamadas no local do código, só funciona com o depurador "
-"ativado.\n"
-"Saída no console vai parecer assim:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4471,6 +4475,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -5159,8 +5183,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -8090,7 +8113,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -8275,6 +8301,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -8294,9 +8323,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10934,10 +10967,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -11469,14 +11501,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -11486,22 +11518,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -20332,6 +20364,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "A altura do cilindro."
@@ -23167,7 +23207,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -24995,7 +25038,7 @@ msgstr ""
#: doc/classes/File.xml
msgid "File system"
-msgstr ""
+msgstr "Sistema de arquivos"
#: doc/classes/File.xml
msgid ""
@@ -33909,7 +33952,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -37237,7 +37282,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -37488,7 +37536,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -38205,6 +38256,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -38878,9 +38932,8 @@ msgid ""
msgstr ""
#: doc/classes/Node.xml
-#, fuzzy
msgid "Nodes and Scenes"
-msgstr "Nós e Cenas"
+msgstr "Nós e cenas"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -41015,7 +41068,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -41528,11 +41583,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41566,11 +41621,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41592,11 +41647,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43446,6 +43501,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -51104,15 +51169,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52708,17 +52780,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52727,8 +52810,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -55446,7 +55535,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57285,7 +57378,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58681,7 +58776,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58697,7 +58795,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67998,10 +68098,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -68012,8 +68117,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -68165,7 +68270,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68697,6 +68804,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po
index f6705f5e4c..463bc9c957 100644
--- a/doc/translations/pt_BR.po
+++ b/doc/translations/pt_BR.po
@@ -43,12 +43,14 @@
# lucas rossy brasil coelho <lucasrossy270@gmail.com>, 2022.
# Felipe Kinoshita <kinofhek@gmail.com>, 2022.
# Mr.Albino <ricmorsoleto@gmail.com>, 2022.
+# Zer0-Zer0 <dankmemerson@tutanota.com>, 2022.
+# Julio Yagami <juliohenrique31501234@hotmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-21 06:02+0000\n"
-"Last-Translator: Jaide Alonso Ambrosio <jaide.sp@gmail.com>\n"
+"PO-Revision-Date: 2022-12-09 19:48+0000\n"
+"Last-Translator: Julio Yagami <juliohenrique31501234@hotmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/pt_BR/>\n"
"Language: pt_BR\n"
@@ -56,7 +58,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 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -527,7 +529,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Compares two values by checking their actual contents, recursing into any "
"[Array] or [Dictionary] up to its deepest level.\n"
@@ -548,13 +549,13 @@ msgid ""
"code]."
msgstr ""
"Compara dois valores, verificando seu conteúdo real, recorrendo a qualquer "
-"`Array` ou `Dicionário` até o seu nível mais profundo.\n"
+"[Array] ou [Dictionary] até o seu nível mais profundo.\n"
"Isso se compara a [code]==[/code] de várias maneiras:\n"
"- Para [code]null[/code], [code]int[/code], [code]float[/code], "
"[code]String[/code], [code]Object[/code] e [code]RID[/code] tanto "
"[code]deep_equal[/code] quanto [code]==[/code] funcionam da mesma maneira.\n"
"- Para [code]Dictionary[/code], [code]==[code] considera igualdade se, e "
-"somente se, ambas as variáveis apontarem para o mesmo [code]Dictionary[/"
+"somente se, ambas as variáveis apontaram para o mesmo [code]Dictionary[/"
"code], sem nenhuma recorrência ou consciência do conteúdo.\n"
"- Para [code]Array[/code], [code]==[/code] considera igualdade se, e somente "
"se, cada item no primeiro [code]Array[/code] for igual a sua contraparte no "
@@ -586,7 +587,6 @@ msgstr ""
"inst2dict]), de volta em uma instância. Útil para desserialização."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an \"eased\" value of [code]x[/code] based on an easing function "
"defined with [code]curve[/code]. This easing function is based on an "
@@ -615,7 +615,7 @@ msgstr ""
"- Menor que -1.0 (exclusivo): Ease in-out\n"
"- 1.0: Linear\n"
"- Entre -1.0 e 0.0 (exclusivo): Ease out-in\n"
-"- 0.0: Constant\n"
+"- 0.0: Constante\n"
"- Entre 0.0 e 1.0 (exclusivo): Ease in\n"
"- 1.0: Linear\n"
"- Maior que 1.0 (exclusivo): Ease out\n"
@@ -752,8 +752,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -768,7 +770,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Retorna uma list de dicionários representando a pilha de chamada atual.\n"
"[codeblock]\n"
@@ -949,7 +955,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
@@ -973,24 +978,25 @@ msgid ""
msgstr ""
"Interpola linearmente entre dois valores pelo fator definido em "
"[code]weight[/code]. Para realizar a interpolação, [code]weight[/code] deve "
-"estar entre [code]0.0[/code] e [code]1.0[/code] (inclusive). No entanto, "
+"estar entre [code]0.0[/code] e [code]1.0[/code] (inclusivo). No entanto, "
"valores fora desse intervalo são permitidos e podem ser usados para realizar "
-"[i]extrapolação[/i].\n"
+"[i]extrapolação[/i]. Use [method clamp] no resultado de [method lerp] se "
+"isso não é desejado.\n"
"Se os argumentos [code]from[/code] e [code]to[/code] forem do tipo [int] ou "
"[float], o valor de retorno será um [float].\n"
"Se ambos forem do mesmo tipo de vetor ([Vector2], [Vector3] ou [Color]), o "
"valor de retorno será do mesmo tipo([code]lerp[/code] então chama o método "
"[code]linear_interpolate[/code] do tipo de vetor).\n"
"[codeblock]\n"
-"lerp(0, 4, 0,75) # Retorna 3,0\n"
+"lerp(0, 4, 0,75) # Retorna 3.0\n"
"lerp(Vetor2(1, 5), Vetor2(3, 2), 0.5) # Retorna Vetor2(2, 3.5)\n"
"[/codeblock]\n"
"Veja também [method inverse_lerp] que realiza o inverso desta operação. Para "
"realizar a interpolação facilitada com [method lerp], combine-o com [method "
-"ease] ou [method smoothstep]."
+"ease] ou [method smoothstep]. Seja também [method range_lerp] para mapear "
+"uma serie contínua de valores um para o outro."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two angles (in radians) by a normalized "
"value.\n"
@@ -1013,19 +1019,30 @@ msgid ""
"example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, "
"while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise."
msgstr ""
-"Faz a interpolação linear entre dois ângulos (em radianos) por um valor "
+"Interpola linearmente entre dois ângulos (em radianos) por um valor "
"normalizado.\n"
"Semelhante à [method lerp], mas faz a interpolação corretamente quando os "
-"ângulos passam através de [constant @GDScript.TAU].\n"
+"ângulos passam através de [constant @GDScript.TAU]. Para realizar "
+"interpolação facilitada com [method lerp_angle], combine com [method ease] "
+"ou [method smoothstep].\n"
"[codeblock]\n"
"extends Sprite\n"
-"var elapsed = 0.0\n"
+"var tempo_decorrido = 0.0\n"
"func _process(delta):\n"
-" var min_angle = deg2rad(0.0)\n"
-" var max_angle = deg2rad(90.0)\n"
-" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
-" elapsed += delta\n"
-"[/codeblock]"
+" var ângulo_mínimo = deg2rad(0.0)\n"
+" var ângulo_máximo = deg2rad(90.0)\n"
+" rotação = ângulo_interpolação(ângulo_mínimo, ângulo_máximo, "
+"tempo_decorrido)\n"
+" tempo_decorrido += delta\n"
+"[/codeblock]\n"
+"[b]Nota:[/b] Esse método interpola linearmente através do caminho mais curto "
+"entre [code]from[/code] e [code]to[/code]. Entretanto, quando esses dois "
+"ângulos estão aproximadamente [code]PI + k * TAU[/code] aparte para qualquer "
+"inteiro [code]k[/code], não é óbvio para qual lado eles interpolam devido à "
+"erros de precisão de pontos flutuantes. Por exemplo, "
+"[code]ângulo_interpolação(0, PI, weight)[/code] interpola no sentido anti-"
+"horário, enquanto [code]ângulo_interpolação(0, PI + 5 * TAU, weight)[/code] "
+"interpola no sentido horário."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1395,19 +1412,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Imprime a pilha de chamadas no local do código, só funciona com o depurador "
-"habilitado.\n"
-"Saída no console vai parecer assim:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1645,8 +1660,46 @@ msgid ""
"3\n"
"[/codeblock]"
msgstr ""
+"Retorna um [i]array[/i] com o alcance dado. [method range] pode ser chamado "
+"de três maneiras:\n"
+"[code]range(n: int)[/code]: Começa do 0, aumenta em passos de 1, e para "
+"[i]antes[/i] do [code]n[/code]. O argumento [code]n[/code] é [b]exclusivo[/"
+"b].\n"
+"[code]range(b: int, n: int)[/code]: Começa do [code]b[/code], aumenta em "
+"passos de 1, e para [i]antes[/i] do [code]n[/code]. Os argumentos [code]b[/"
+"code] e [code]n[/code] são [b]inclusivo[/b] e [b]exclusivo[/b], "
+"respectivamente.\n"
+"[code]range(b: int, n: int, s: int)[/code]: Começa do [code]b[/code], "
+"aumenta/diminui em passos de [code]s[/code], e para [i]antes[/i] do [code]n[/"
+"code]. Os argumentos [code]b[/code] e [code]n[/code] são [b]inclusivo[/b] e "
+"[b]exclusivo[/b], respectivamente. O argumento [code]s[/code] [b]pode[/b] "
+"ser negativo, mas não [code]0[/code]. Se [code]s[/code] é [code]0[/code], "
+"uma mensagem de erro é mostrada.\n"
+"[method range] converte todos os argumentos para [int] antes de processar.\n"
+"[b]Nota:[/b] Retorna um [i]array[/i] vazio se nenhum valor satisfaz o valor "
+"exigido (e.g. [code]range(2, 5, -1)[/code] ou [code]range(5, 5, 1)[/code]).\n"
+"Exemplos:\n"
+"[codeblock]\n"
+"print(range(4)) # Imprime [0, 1, 2, 3]\n"
+"print(range(2, 5)) # Imprime [2, 3, 4]\n"
+"print(range(0, 6, 2)) # Imprime [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Imprime [4, 3, 2]\n"
+"[/codeblock]\n"
+"Para repetir sobre um [Array] ao contrário, use:\n"
+"[codeblock]\n"
+"var array = [3, 6, 9]\n"
+"for i in range(array.size(), 0, -1):\n"
+" print(array[i - 1])\n"
+"[/codeblock]\n"
+"Saída:\n"
+"[codeblock]\n"
+"9\n"
+"6\n"
+"3\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
@@ -1659,6 +1712,17 @@ msgid ""
"For complex use cases where you need multiple ranges, consider using [Curve] "
"or [Gradient] instead."
msgstr ""
+"Mapeia um [code]value[/code] do intervalo [code][istart, istop][/code] para "
+"[code][ostart, ostop][/code]. Veja também [method lerp] e [method "
+"inverse_lerp]. Se [code]value[/code] estiver fora de [code][istart, istop][/"
+"code], então o valor resultante também será fora de [code][ostart, ostop][/"
+"code]. Use [method clamp] no resultado de [method range-lerp] se não for "
+"desejado.\n"
+"[codeblock]\n"
+"range_lerp(75, 0, 100, -1, 1) # Retorna 0.5\n"
+"[/codeblock]\n"
+"Para casos de uso complexos em que você precise de múltiplos intervalos, "
+"considere usar [Curve] ou [Gradient]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -3956,34 +4020,49 @@ msgstr ""
"Windows MR)."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI note OFF message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
msgstr ""
+"Mensagem de nota MIDI OFF. Veja a documentação sobre [InputEventMIDI] para "
+"mais informações sobre como usar entradas MIDI."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI note ON message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
msgstr ""
+"Mensagem ON da nota MIDI. Veja a documentação do [InputEventMIDI] para mais "
+"informações sobre como usar entradas MIDI."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI aftertouch message. This message is most often sent by pressing down on "
"the key after it \"bottoms out\"."
msgstr ""
+"Mensagem MIDI de toque posterior. Esta mensagem é geralmente enviada ao "
+"pressionar a tecla após ela \"ir de fundo pra fora\"."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI control change message. This message is sent when a controller value "
"changes. Controllers include devices such as pedals and levers."
msgstr ""
+"Mensagem de alteração do controlador MIDI. Esta mensagem é enviada quando o "
+"valor de um controlador muda. Controladores incluem dispositivos como pedais "
+"e alavancas."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI program change message. This message sent when the program patch number "
"changes."
msgstr ""
+"Mensagem de alteração do programa MIDI. Esta mensagem é enviada quando o "
+"número de patch do programa muda."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4498,6 +4577,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr "A propriedade é serializada e salva no arquivo de cena (padrão)."
@@ -5195,8 +5294,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -8144,7 +8242,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -8329,6 +8430,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -8348,9 +8452,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10990,10 +11098,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -11525,14 +11632,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -11542,22 +11649,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -15656,7 +15763,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Chocolate color."
-msgstr "Cor chocolate"
+msgstr "Cor chocolate."
#: doc/classes/Color.xml
msgid "Coral color."
@@ -20442,6 +20549,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "A altura do cilindro."
@@ -23280,7 +23395,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -34072,7 +34190,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -37411,7 +37531,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -37664,7 +37787,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -38389,6 +38515,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -41199,7 +41328,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -41716,11 +41847,11 @@ msgstr "Retorna o ângulo para o vetor dado, em radianos."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41754,11 +41885,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41780,11 +41911,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43666,6 +43797,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -51274,15 +51415,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52886,17 +53034,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52905,8 +53064,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -55625,7 +55790,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57467,7 +57636,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58866,7 +59037,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58882,7 +59056,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -68220,10 +68396,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -68234,8 +68415,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -68393,7 +68574,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68926,6 +69109,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
@@ -77080,10 +77279,10 @@ msgstr ""
"Classifique todos os nós filhos com base em suas posições Y. O nó filho deve "
"herdar de [CanvasItem] para ser classificado. Os nós que têm uma posição Y "
"mais alta serão desenhados mais tarde, então eles aparecerão no topo dos nós "
-"que têm uma posição Y mais baixa. O aninhamento de nós YSort é possível. Os "
-"nós YSort filhos serão classificados no mesmo espaço que o YSort pai, "
-"permitindo organizar melhor uma cena ou dividi-la em várias outras, mas "
-"manter a classificação única."
+"que têm uma posição Y mais baixa.\n"
+"O aninhamento de nós YSort é possível.Os nós YSort filhos serão "
+"classificados no mesmo espaço que o YSort pai, permitindo organizar melhor "
+"uma cena ou dividi-la em várias outras, mas manter a classificação única."
#: doc/classes/YSort.xml
msgid ""
diff --git a/doc/translations/ro.po b/doc/translations/ro.po
index 04f1a17b66..dd88e8d66b 100644
--- a/doc/translations/ro.po
+++ b/doc/translations/ro.po
@@ -501,7 +501,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -516,7 +517,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -889,12 +894,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3509,6 +3518,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4193,8 +4222,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7111,7 +7139,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7296,6 +7327,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7315,9 +7349,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9955,10 +9993,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10490,14 +10527,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10507,22 +10544,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19302,6 +19339,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22134,7 +22179,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32849,7 +32897,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36147,7 +36197,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36395,7 +36448,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37106,6 +37162,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39912,7 +39971,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40423,11 +40484,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40461,11 +40522,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40487,11 +40548,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42338,6 +42399,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49930,15 +50001,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51534,17 +51612,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51553,8 +51642,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54269,7 +54364,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56106,7 +56205,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57484,7 +57585,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57500,7 +57604,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66737,10 +66843,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66751,8 +66862,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66904,7 +67015,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67436,6 +67549,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/ru.po b/doc/translations/ru.po
index b590ff4014..9d569d7760 100644
--- a/doc/translations/ru.po
+++ b/doc/translations/ru.po
@@ -24,7 +24,7 @@
# Ð§Ñ‚Ð°Ð±Ñ <chtabs2k19@gmail.com>, 2021.
# Nikita Blizniuk <BliznyukNM@gmail.com>, 2021.
# Сергей Волков <zerosar4@gmail.com>, 2021.
-# Alexander Sinitsyn <almoig747@gmail.com>, 2021.
+# Alexander Sinitsyn <almoig747@gmail.com>, 2021, 2022.
# Ð¢Ð¾Ð»Ñ Ð‘Ð¾Ð³Ð¾Ð¼Ð¾Ð»Ð¾Ð² <tolya.bogomolov2004@gmail.com>, 2021.
# Rustam Alieskerov <rustam.aleskerov7@gmail.com>, 2021, 2022.
# Vladimir Svity <development.openworld@gmail.com>, 2021.
@@ -54,12 +54,15 @@
# Lost Net <pc.mirkn@gmail.com>, 2022.
# Vladimir Kirillovskiy <vladimir.kirillovskiy@gmail.com>, 2022.
# motismob <evt.mixail@ya.ru>, 2022.
+# Handsless coder <yfintktajy1@gmail.com>, 2022.
+# Evgeniy Khramov <thejenjagamertjg@gmail.com>, 2022.
+# Григорий <bolon667@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-16 07:12+0000\n"
-"Last-Translator: Rish Alternative <ii4526668@gmail.com>\n"
+"PO-Revision-Date: 2022-12-06 11:48+0000\n"
+"Last-Translator: Григорий <bolon667@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ru/>\n"
"Language: ru\n"
@@ -68,7 +71,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -598,7 +601,6 @@ msgstr ""
"ÑкземплÑÑ€ объекта. Полезно Ð´Ð»Ñ Ð´ÐµÑериализации."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an \"eased\" value of [code]x[/code] based on an easing function "
"defined with [code]curve[/code]. This easing function is based on an "
@@ -632,7 +634,7 @@ msgstr ""
"- Больше 1,0 (не включаÑ): Облегчение вхождениÑ(только вход)\n"
"[/codeblock]\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
-"ease_cheatsheet.png]ease() Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÑ€Ð¸Ð²Ð¾Ð¹ шпаргалка[/url]\n"
+"ease_cheatsheet.png]ease() шпаргалка значений кривой[/url]\n"
"См. также [метод smoothstep]. ЕÑли вам нужно выполнить более Ñложные "
"переходы, иÑпользуйте [Tween] или [AnimationPlayer]."
@@ -764,8 +766,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -780,7 +784,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Возвращает маÑÑив Ñловарей, предÑтавлÑющий текущий Ñтек вызовов.\n"
"[codeblock]\n"
@@ -866,7 +874,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an interpolation or extrapolation factor considering the range "
"specified in [code]from[/code] and [code]to[/code], and the interpolated "
@@ -890,13 +897,13 @@ msgid ""
"[method range_lerp] to map a continuous series of values to another."
msgstr ""
"Возвращает коÑффициент интерполÑции или ÑкÑтраполÑции Ñ ÑƒÑ‡ÐµÑ‚Ð¾Ð¼ диапазона, "
-"указанного в [code]от[/code] и [code]до[/code], и интерполированное "
-"значение, указанное в [code]веÑе[/code]. Возвращаемое значение будет "
-"находитьÑÑ Ð² диапазоне [code]0.0[/code] and [code]1.0[/code] еÑли [code]веÑ[/"
-"code] находитÑÑ Ð¼ÐµÐ¶Ð´Ñƒ [code]от[/code] и [code]до[/code] (включительно). ЕÑли "
-"[code]веÑ[/code] находитÑÑ Ð·Ð° пределами Ñтого диапазона, то будет возвращён "
-"коÑффициент ÑкÑтраполÑции (возвращаемое значение меньше [code]0.0[/code] или "
-"больше [code]1.0[/code]).\n"
+"указанного в [code]from[/code] и [code]to[/code], и интерполированное "
+"значение, указанное в [code]weight[/code]. Возвращаемое значение будет "
+"находитьÑÑ Ð² диапазоне от [code]0.0[/code] до [code]1.0[/code], еÑли "
+"[code]weight[/code] находитÑÑ Ð¼ÐµÐ¶Ð´Ñƒ [code]from[/code] и [code]to[/code] "
+"(включительно). ЕÑли [code]weight[/code] находитÑÑ Ð·Ð° пределами Ñтого "
+"диапазона, то будет возвращён коÑффициент ÑкÑтраполÑции (возвращаемое "
+"значение меньше [code]0.0[/code] или больше [code]1.0[/code]).\n"
"[codeblock]\n"
"# КоÑффициент интерполÑции в приведённом ниже вызове `lerp()` ÑоÑтавлÑет "
"0,75.\n"
@@ -979,7 +986,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
@@ -1002,11 +1008,11 @@ msgid ""
"continuous series of values to another."
msgstr ""
"Линейно интерполирует между Ð´Ð²ÑƒÐ¼Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñми Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ коÑффициента, "
-"определенного в [code]weight[/code]. Ð”Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»Ñции [code]веÑ[/"
-"code] должен ÑоÑтавлÑÑ‚ÑŒ от [code]0.0[/code] до [code]1.0[/code] "
+"определенного в [code]weight[/code]. Ð”Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»Ñции "
+"[code]weight[/code] должен быть между [code]0.0[/code] и [code]1.0[/code] "
"(включительно). Однако Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð° пределами Ñтого диапазона разрешены и "
"могут быть иÑпользованы Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ [i]ÑкÑтраполÑции[/i].\n"
-"ЕÑли аргументы [code]от[/code] и [code]до[/code] имеют тип [int] или "
+"ЕÑли аргументы [code]from[/code] и [code]to[/code] имеют тип [int] или "
"[float], возвращаемое значение будет [float].\n"
"ЕÑли оба Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÑŽÑ‚ одинаковый векторный тип ([Vector2], [Vector3] или "
"[Color]), возвращаемое значение будет одного типа ([code]lerp[/code], затем "
@@ -1432,18 +1438,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Печатает трек Ñтека вызовов, работает только еÑли включён отладчик.\n"
-"Вывод в конÑоли будет выглÑдеть примерно так:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1814,7 +1819,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the result of smoothly interpolating the value of [code]s[/code] "
"between [code]0[/code] and [code]1[/code], based on the where [code]s[/code] "
@@ -1842,33 +1846,28 @@ msgstr ""
"Возвращает результат плавной интерполÑции Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ [code]s[/code] между "
"[code]0[/code] и [code]1[/code], в завиÑимоÑти от того, где находитÑÑ "
"[code]s[/code] отноÑительно [code]from[/code] и [code]to[/code].\n"
-"\n"
"Возвращаемое значение равно [code]0[/code], еÑли [code]s <= from[/code] и "
"[code]1[/code], еÑли[code]s >= to[/code]. ЕÑли [code]s[/code] находитÑÑ "
"между [code]from[/code] и [code]to[/code], то возвращаемое значение Ñледует "
"S-образной кривой, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑоответÑтвует значению [code]s[/code] между "
"[code]0[/code] и [code]1[/code].\n"
-"\n"
"S-Ð¾Ð±Ñ€Ð°Ð·Ð½Ð°Ñ ÐºÑ€Ð¸Ð²Ð°Ñ ÑвлÑетÑÑ ÐºÑƒÐ±Ð¸Ñ‡ÐµÑким Ñрмитовым Ñплайном, заданным функцией "
"[code]f(s) = 3*s^2 - 2*s^3[/code].\n"
-"\n"
"[codeblock]\n"
-"smoothstep(0, 2, -5.0) # Returns 0.0\n"
-"smoothstep(0, 2, 0.5) # Returns 0.15625\n"
-"smoothstep(0, 2, 1.0) # Returns 0.5\n"
-"smoothstep(0, 2, 2.0) # Returns 1.0\n"
+"smoothstep(0, 2, -5.0) # Возвращает 0.0\n"
+"smoothstep(0, 2, 0.5) # Возвращает 0.15625\n"
+"smoothstep(0, 2, 1.0) # Возвращает 0.5\n"
+"smoothstep(0, 2, 2.0) # Возвращает 1.0\n"
"[/codeblock]\n"
-"\n"
-"Compared to [method ease] with a curve value of [code]-1.6521[/code], "
-"[method smoothstep] returns the smoothest possible curve with no sudden "
-"changes in the derivative. If you need to perform more advanced transitions, "
-"use [Tween] or [AnimationPlayer].\n"
+"Ð’ Ñравнении Ñ [method ease] Ñо значение кривой [code]-1.6521[/code], [метод "
+"smoothstep] возвращает наиболее плавную кривую без внезапных изменений "
+"производной. ЕÑли вам нужно выполнить более продвинутые перемещениÑ, "
+"иÑпользуйте [Tween] или [AnimationPlayer].\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/"
-"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, "
-"-1.6521) return values[/url]"
+"smoothstep_ease_comparison.png]Сравнение возвращаемых значений smoothstep() "
+"и ease(x, -1.6521)[/url]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the square root of [code]s[/code], where [code]s[/code] is a non-"
"negative number.\n"
@@ -1888,7 +1887,6 @@ msgstr ""
"Numerics.Complex[/code] в C#."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the position of the first non-zero digit, after the decimal point. "
"Note that the maximum return value is 10, which is a design decision in the "
@@ -1903,12 +1901,9 @@ msgstr ""
"внимание, что макÑимальное возвращаемое значение – Ñто 10, что ÑвлÑетÑÑ "
"проектным решением при реализации.\n"
"[codeblock]\n"
-"# n равно 0\n"
-"n = step_decimals(5)\n"
-"# n равно 4\n"
-"n = step_decimals(1.0005)\n"
-"# n равно 9\n"
-"n = step_decimals(0.000000005)\n"
+"n = step_decimals(5) # n равно 0\n"
+"n = step_decimals(1.0005) # n равно 4\n"
+"n = step_decimals(0.000000005) # n равно 9\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1952,7 +1947,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Converts a formatted string that was returned by [method var2str] to the "
"original value.\n"
@@ -1962,8 +1956,8 @@ msgid ""
"print(b[\"a\"]) # Prints 1\n"
"[/codeblock]"
msgstr ""
-"Преобразует форматированную Ñтроку, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° возвращена [method var2str] "
-"в иÑходное значение.\n"
+"Преобразует форматированную Ñтроку, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° возвращена [методом "
+"var2str] в иÑходное значение.\n"
"[codeblock]\n"
"a = '{ \"a\": 1, \"b\": 2 }'\n"
"b = str2var(a)\n"
@@ -1983,7 +1977,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the hyperbolic tangent of [code]s[/code].\n"
"[codeblock]\n"
@@ -1994,7 +1987,7 @@ msgstr ""
"Возвращает гиперболичеÑкий Ñ‚Ð°Ð½Ð³ÐµÐ½Ñ [code]s[/code].\n"
"[codeblock]\n"
"a = log(2.0) # Возвращает 0.693147\n"
-"tanh(a) # Возвращает 0.6\n"
+"b = tanh(a) # Возвращает 0.6\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -2031,7 +2024,6 @@ msgstr ""
"См. также [JSON] Ð´Ð»Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ [Variant] в JSON Ñтроку."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns whether the given class exists in [ClassDB].\n"
"[codeblock]\n"
@@ -2041,7 +2033,7 @@ msgid ""
msgstr ""
"Возвращает, ÑущеÑтвует ли данный клаÑÑ Ð² [ClassDB].\n"
"[codeblock]\n"
-"type_exists(\"Sprite2D\") # Возвращает true\n"
+"type_exists(\"Sprite\") # Возвращает true\n"
"type_exists(\"Variant\") # Возвращает false\n"
"[/codeblock]"
@@ -2092,13 +2084,12 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Encodes a variable value to a byte array. When [code]full_objects[/code] is "
"[code]true[/code] encoding objects is allowed (and can potentially include "
"code)."
msgstr ""
-"Кодирует значение переменной в маÑÑив байт. ЕÑли [code]full_objects[/code] "
+"Кодирует значение переменной в маÑÑив байтов. ЕÑли [code]full_objects[/code] "
"равен [code]true[/code], кодирование объектов разрешено (и потенциально "
"может включать код)."
@@ -2859,12 +2850,10 @@ msgid "Help key."
msgstr "Клавиша помощи."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Left Direction key."
msgstr "Клавиша Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð»ÐµÐ²Ð¾."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Right Direction key."
msgstr "Клавиша Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¿Ñ€Ð°Ð²Ð¾."
@@ -2876,19 +2865,16 @@ msgstr ""
"уÑтройÑтвах Android."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Media forward key."
msgstr "Клавиша запиÑи мультимедиа."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Media stop key."
msgstr "Клавиша оÑтановки мультимедиа."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Media refresh key."
-msgstr "Клавиша запиÑи мультимедиа."
+msgstr "Клавиша Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸Ð¼ÐµÐ´Ð¸Ð°."
#: doc/classes/@GlobalScope.xml
msgid "Volume down key."
@@ -2907,22 +2893,18 @@ msgid "Bass Boost key."
msgstr "Клавиша уÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð½Ð¸Ð·ÐºÐ¸Ñ… чаÑтот."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Bass up key."
msgstr "Клавиша ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð°Ñов."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Bass down key."
msgstr "Клавиша ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð½Ð¸Ð·ÐºÐ¸Ñ… чаÑтот."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Treble up key."
msgstr "Клавиша ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñоких чаÑтот."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Treble down key."
msgstr "Клавиша ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð²Ñ‹Ñоких чаÑтот."
@@ -2952,12 +2934,10 @@ msgid "Home page key."
msgstr "Клавиша домашней Ñтраницы."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Favorites key."
-msgstr "Клавиша избранного."
+msgstr "Клавиша \"Избранное\"."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Search key."
msgstr "Клавиша поиÑка."
@@ -4424,7 +4404,6 @@ msgid "Skip error."
msgstr "Ошибка \"Пропущено\"."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Help error."
msgstr "Ошибка Ñправки."
@@ -4661,6 +4640,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr "Указывает, что изображение иÑпользует Ñжатие без потерь."
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr "СвойÑтво ÑериализируетÑÑ Ð¸ ÑохранÑетÑÑ Ð² файле Ñцены (по умолчанию)."
@@ -5007,10 +5006,8 @@ msgstr ""
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
-#, fuzzy
msgid "Vector math"
-msgstr ""
-"Вектор иÑпользуемый Ð´Ð»Ñ 2D математики иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленные координаты."
+msgstr "Ð’ÐµÐºÑ‚Ð¾Ñ€Ð½Ð°Ñ Ð¼Ð°Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸ÐºÐ°"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
@@ -5516,8 +5513,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -6280,11 +6276,11 @@ msgstr ""
#: doc/classes/Animation.xml doc/classes/Gradient.xml
msgid "Linear interpolation."
-msgstr ""
+msgstr "Ð›Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑциÑ."
#: doc/classes/Animation.xml doc/classes/Gradient.xml
msgid "Cubic interpolation."
-msgstr ""
+msgstr "КубичеÑÐºÐ°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑциÑ."
#: doc/classes/Animation.xml
msgid "Update between keyframes."
@@ -6510,7 +6506,7 @@ msgstr ""
#: doc/classes/AnimationNodeTimeScale.xml
#: doc/classes/AnimationNodeTransition.xml
msgid "AnimationTree"
-msgstr ""
+msgstr "Дерево анимации"
#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml
#: doc/classes/AnimationNodeBlend2.xml
@@ -7546,7 +7542,7 @@ msgstr ""
#: doc/classes/AnimationTree.xml
msgid "Using AnimationTree"
-msgstr ""
+msgstr "ИÑпользование дерева анимации"
#: doc/classes/AnimationTree.xml
msgid "Manually advance the animations by the specified time (in seconds)."
@@ -7976,43 +7972,43 @@ msgstr ""
#: doc/classes/AnimationTreePlayer.xml
msgid "Output node."
-msgstr ""
+msgstr "Выходной узел."
#: doc/classes/AnimationTreePlayer.xml
msgid "Animation node."
-msgstr ""
+msgstr "Ðнимационный узел."
#: doc/classes/AnimationTreePlayer.xml
msgid "OneShot node."
-msgstr ""
+msgstr "Узел OneShot."
#: doc/classes/AnimationTreePlayer.xml
msgid "Mix node."
-msgstr ""
+msgstr "МикÑ-узел."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend2 node."
-msgstr ""
+msgstr "Узел Blend2."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend3 node."
-msgstr ""
+msgstr "Узел Blend3."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend4 node."
-msgstr ""
+msgstr "Узел Blend4."
#: doc/classes/AnimationTreePlayer.xml
msgid "TimeScale node."
-msgstr ""
+msgstr "Узел TimeScale."
#: doc/classes/AnimationTreePlayer.xml
msgid "TimeSeek node."
-msgstr ""
+msgstr "Узел TimeSeek."
#: doc/classes/AnimationTreePlayer.xml
msgid "Transition node."
-msgstr ""
+msgstr "Переходный узел."
#: doc/classes/Area.xml
msgid "3D area for detection and physics and audio influence."
@@ -8702,7 +8698,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -8931,8 +8930,12 @@ msgstr ""
"опиÑывает шаг между индекÑами Ñреза."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -8963,9 +8966,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9357,6 +9364,19 @@ msgid ""
"[ARVRServer]. This makes this node ideal to add child nodes to visualize the "
"controller."
msgstr ""
+"Это вÑпомогательный проÑтранÑтвенный узел, ÑвÑзанный Ñ Ð¾Ñ‚Ñлеживанием "
+"контроллеров. Он также предлагает неÑколько удобных переходов к ÑоÑтоÑнию "
+"кнопок и т.п. на контроллерах.\n"
+"Контроллеры ÑвÑзаны по их ID. Ð’Ñ‹ можете Ñоздавать узлы контроллеров до того, "
+"как контроллеры Ñтанут доÑтупны. ЕÑли в вашей игре вÑегда иÑпользуютÑÑ Ð´Ð²Ð° "
+"контроллера (по одному Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ руки), вы можете заранее определить "
+"контроллеры Ñ ID 1 и 2; они Ñтанут активными, как только контроллеры будут "
+"определены. ЕÑли вы ожидаете, что будут иÑпользоватьÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ "
+"контроллеры, вы должны реагировать на Ñигналы и добавить узлы ARVRController "
+"в вашу Ñцену.\n"
+"Положение узла контроллера автоматичеÑки обновлÑетÑÑ Ñервером [ARVRServer]. "
+"Это делает данный узел идеальным Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ñ… узлов Ð´Ð»Ñ "
+"визуализации контроллера."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9634,6 +9654,21 @@ msgid ""
"be a child node of this car. Or, if you're implementing a teleport system to "
"move your character, you should change the position of this node."
msgstr ""
+"Это Ñпециальный узел в ÑиÑтеме AR/VR, который отображает физичеÑкое "
+"меÑтоположение центра нашего проÑтранÑтва отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð½Ð° виртуальное "
+"меÑтоположение в нашем игровом мире.\n"
+"Ð’ вашей Ñцене должен быть только один такой узел, и он обÑзательно должен "
+"быть у ваÑ. Ð’Ñе узлы ARVRCamera, ARVRController и ARVRAnchor должны быть "
+"прÑмыми дочерними узлами Ñтого узла, чтобы проÑтранÑтвенное отÑлеживание "
+"работало правильно.\n"
+"Именно положение Ñтого узла вы обновлÑете, когда перÑонажу нужно "
+"перемещатьÑÑ Ð¿Ð¾ игровому миру, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº в реальном мире мы не "
+"движемÑÑ. Движение в реальном мире вÑегда проиÑходит отноÑительно Ñтой "
+"иÑходной точки.\n"
+"Ðапример, еÑли ваш перÑонаж управлÑет автомобилем, узел ARVROrigin должен "
+"быть дочерним узлом Ñтого автомобилÑ. Или, еÑли вы реализуете ÑиÑтему "
+"телепортации Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ñонажа, вы должны изменить положение Ñтого "
+"узла."
#: doc/classes/ARVROrigin.xml
msgid ""
@@ -10176,6 +10211,26 @@ msgid ""
"4, 3][/code] instead, because now even though the distance is longer, it's "
"\"easier\" to get through point 4 than through point 2."
msgstr ""
+"Возвращает маÑÑив Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ точек, которые образуют путь, найденный "
+"AStar между заданными точками. МаÑÑив упорÑдочен от начальной точки до "
+"конечной точки пути.\n"
+"[codeblock].\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0), 1) # Ð’ÐµÑ Ð¿Ð¾ умолчанию равен 1\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # Возвращает [1, 2, 3]\n"
+"[/codeblock].\n"
+"ЕÑли изменить Ð²ÐµÑ Ð²Ñ‚Ð¾Ñ€Ð¾Ð¹ точки на 3, то результатом будет [code][1, 4, 3][/"
+"code], потому что теперь, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что раÑÑтоÑние больше, \"легче\" "
+"пройти через точку 4, чем через точку 2."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10424,6 +10479,22 @@ msgid ""
"FLAG_REPEAT] and [constant Texture.FLAG_MIRRORED_REPEAT] flags are ignored "
"when using an AtlasTexture."
msgstr ""
+"РеÑÑƒÑ€Ñ [Texture], который обрезает одну чаÑÑ‚ÑŒ текÑтуры [member atlas], "
+"определенной [member region]. ОÑновное применение - вырезание текÑтур из "
+"атлаÑа текÑтур, который предÑтавлÑет Ñобой большой файл текÑтуры, Ñодержащий "
+"неÑколько текÑтур меньшего размера. СоÑтоит из [Texture] Ð´Ð»Ñ [member atlas], "
+"[member region], который определÑет облаÑÑ‚ÑŒ [member atlas] Ð´Ð»Ñ "
+"иÑпользованиÑ, и [member margin], который определÑет ширину границы.\n"
+"[AtlasTexture] не может иÑпользоватьÑÑ Ð² [AnimatedTexture], не может быть "
+"плиточным в узлах, таких как [TextureRect], и не работает должным образом, "
+"еÑли иÑпользуетÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ других реÑурÑов [AtlasTexture]. ÐеÑколько реÑурÑов "
+"[AtlasTexture] можно иÑпользовать Ð´Ð»Ñ Ð¾Ð±Ñ€ÐµÐ·ÐºÐ¸ неÑкольких текÑтур из атлаÑа. "
+"ИÑпользование атлаÑа текÑтур помогает оптимизировать затраты видеопамÑти и "
+"вызовы рендеринга по Ñравнению Ñ Ð¸Ñпользованием неÑкольких небольших "
+"файлов.\n"
+"[b]Примечание:[/b] AtlasTextures не поддерживают повторение. Флаги [constant "
+"Texture.FLAG_REPEAT] и [constant Texture.FLAG_MIRRORED_REPEAT] игнорируютÑÑ "
+"при иÑпользовании AtlasTexture."
#: doc/classes/AtlasTexture.xml
msgid "The texture that contains the atlas. Can be any [Texture] subtype."
@@ -10654,6 +10725,21 @@ msgid ""
"- Accentuates transients by using a wider attack, making effects sound more "
"punchy."
msgstr ""
+"КомпреÑÑор динамичеÑкого диапазона уменьшает уровень звука, когда амплитуда "
+"превышает определенный порог в децибелах. Одно из оÑновных назначений "
+"компреÑÑора - увеличение динамичеÑкого диапазона за Ñчет минимального "
+"ÐºÐ»Ð¸Ð¿Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (когда звук превышает 0 дБ).\n"
+"КомпреÑÑор имеет множеÑтво применений в микÑе:\n"
+"- Ð’ маÑтер-шине Ð´Ð»Ñ ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð²Ñего выхода (Ñ…Ð¾Ñ‚Ñ [AudioEffectLimiter], "
+"вероÑтно, лучше).\n"
+"- Ð’ голоÑовых каналах Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñ… макÑимально ÑбаланÑированного "
+"звучаниÑ.\n"
+"- Ð’ Ñайдчейне. Это позволÑет Ñнизить уровень звука при боковом подключении к "
+"другой аудиошине Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ€Ð¾Ð³Ð°. Эта техника раÑпроÑтранена в "
+"микшировании видеоигр Ð´Ð»Ñ ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¼ÑƒÐ·Ñ‹ÐºÐ¸ и SFX во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð²ÑƒÑ‡Ð°Ð½Ð¸Ñ "
+"голоÑов.\n"
+"- Подчеркивает переходные процеÑÑÑ‹ за Ñчет более широкой атаки, заÑтавлÑÑ "
+"Ñффекты звучать более напориÑто."
#: doc/classes/AudioEffectCompressor.xml
msgid ""
@@ -11632,12 +11718,14 @@ msgid "Clears the audio sample data buffer."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"Возвращает [code]true[/code] еÑли [code]a[/code] и [code]b[/code] "
+"приблизительно равны друг другу."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -12168,14 +12256,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -12185,22 +12273,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -12413,7 +12501,7 @@ msgstr ""
#: doc/classes/BakedLightmap.xml doc/classes/SpatialMaterial.xml
msgid "Currently unused."
-msgstr ""
+msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ иÑпользуетÑÑ."
#: doc/classes/BakedLightmap.xml
#, fuzzy
@@ -12874,7 +12962,7 @@ msgstr ""
#: doc/classes/BitMap.xml
msgid "Boolean matrix."
-msgstr ""
+msgstr "ЛогичеÑÐºÐ°Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ð°."
#: doc/classes/BitMap.xml
msgid ""
@@ -13237,6 +13325,29 @@ msgid ""
"given time. Use [TouchScreenButton] for buttons that trigger gameplay "
"movement or actions, as [TouchScreenButton] supports multitouch."
msgstr ""
+"Кнопка - Ñто ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°. Она может Ñодержать текÑÑ‚ и "
+"иконку, и будет отображать их в ÑоответÑтвии Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ темой [Theme].\n"
+"[b]Пример ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ и Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¸ нажатии Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ кода:[/"
+"b]\n"
+"[codeblock].\n"
+"func _ready():\n"
+" var button = Button.new()\n"
+" button.text = \"Ðажмите на менÑ\"\n"
+" button.connect(\"pressed\", self, \"_button_pressed\")\n"
+" add_child(button)\n"
+"\n"
+"func _button_pressed():\n"
+" print(\"Hello world!\")\n"
+"[/codeblock].\n"
+"Кнопки (как и вÑе узлы Control) также могут быть Ñозданы в редакторе, но "
+"некоторые Ñитуации могут потребовать их ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð· кода.\n"
+"См. также [BaseButton], который Ñодержит общие ÑвойÑтва и методы, ÑвÑзанные "
+"Ñ Ñтим узлом.\n"
+"[b]Примечание: Кнопки[/b] не интерпретируют ÑенÑорный ввод и поÑтому не "
+"поддерживают мультитач, поÑкольку ÑмулÑÑ†Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸ позволÑет нажимать только "
+"одну кнопку в данный момент времени. ИÑпользуйте [TouchScreenButton] Ð´Ð»Ñ "
+"кнопок, запуÑкающих движение или дейÑÑ‚Ð²Ð¸Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð³Ð¾ процеÑÑа, поÑкольку "
+"[TouchScreenButton] поддерживает мультитач."
#: doc/classes/Button.xml doc/classes/Dictionary.xml
#: doc/classes/GridContainer.xml doc/classes/OS.xml
@@ -13712,6 +13823,20 @@ msgid ""
"limits. You can use [method get_camera_screen_center] to get the real "
"position."
msgstr ""
+"Узел камеры Ð´Ð»Ñ 2D-Ñцен. Он заÑтавлÑет Ñкран (текущий Ñлой) прокручиватьÑÑ "
+"вÑлед за Ñтим узлом. Это позволÑет проще (и быÑтрее) программировать "
+"прокручиваемые Ñцены, чем вручную изменÑÑ‚ÑŒ положение узлов на оÑнове "
+"[CanvasItem].\n"
+"Этот узел задуман как проÑтой помощник Ð´Ð»Ñ Ð±Ñ‹Ñтрого начала работы, но Ð´Ð»Ñ "
+"Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ камеры может потребоватьÑÑ Ð±Ð¾Ð»ÐµÐµ ÑˆÐ¸Ñ€Ð¾ÐºÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾ÑÑ‚ÑŒ. "
+"Чтобы Ñоздать Ñвой ÑобÑтвенный узел камеры, наÑледуйте его от [Node2D] и "
+"измените транÑформацию холÑта, уÑтановив [member Viewport.canvas_transform] "
+"в [Viewport] (текущий [Viewport] можно получить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [method Node."
+"get_viewport]).\n"
+"Обратите внимание, что положение узла [Camera2D] [code][/code] не отражает "
+"фактичеÑкое положение Ñкрана, которое может отличатьÑÑ Ð¸Ð·-за примененного "
+"ÑÐ³Ð»Ð°Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ ограничений. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ "
+"иÑпользовать [метод get_camera_screen_center]."
#: doc/classes/Camera2D.xml doc/classes/TileMap.xml doc/classes/TileSet.xml
msgid "2D Isometric Demo"
@@ -14028,7 +14153,7 @@ msgstr ""
#: doc/classes/CameraFeed.xml
msgid "Unspecified position."
-msgstr ""
+msgstr "ÐÐµÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ÑÑ‚ÑŒ."
#: doc/classes/CameraFeed.xml
msgid "Camera is mounted at the front of the device."
@@ -15921,6 +16046,23 @@ msgid ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"color_constants.png]Color constants cheatsheet[/url]"
msgstr ""
+"Цвет, предÑтавленный краÑным, зеленым, Ñиним и альфа-компонентами (RGBA). "
+"Компонент альфа чаÑто иÑпользуетÑÑ Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾Ñти. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°ÑŽÑ‚ÑÑ Ñ "
+"плавающей точкой и обычно находÑÑ‚ÑÑ Ð² диапазоне от 0 до 1. Ðекоторые "
+"ÑвойÑтва (например, CanvasItem.modulate) могут принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ 1 "
+"(переÑвет или цвета HDR).\n"
+"Ð’Ñ‹ также можете Ñоздать цвет из Ñтандартизированных имен цветов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "
+"[метода @GDScript.ColorN] или непоÑредÑтвенно иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹Ðµ здеÑÑŒ "
+"цветовые конÑтанты. Стандартизированный набор цветов оÑнован на [url=https://"
+"en.wikipedia.org/wiki/X11_color_names]именах цветов X11[/url].\n"
+"ЕÑли вы хотите задать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² диапазоне от 0 до 255, вам Ñледует "
+"иÑпользовать [метод @GDScript.Color8].\n"
+"[b]Примечание:[/b] Ð’ булевом контекÑте значение Color будет равно "
+"[code]false[/code], еÑли оно равно [code]Color(0, 0, 0, 0, 1)[/code] "
+"(непрозрачный черный). Ð’ противном Ñлучае значение Color вÑегда будет равно "
+"[code]true[/code].\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"color_constants.png]Шпаргалка по конÑтантам цвета[/url]"
#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml
msgid "2D GD Paint Demo"
@@ -16203,15 +16345,15 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Aqua color."
-msgstr ""
+msgstr "Цвет аква."
#: doc/classes/Color.xml
msgid "Aquamarine color."
-msgstr ""
+msgstr "Цвет аквамарина."
#: doc/classes/Color.xml
msgid "Azure color."
-msgstr ""
+msgstr "Лазурный цвет."
#: doc/classes/Color.xml
msgid "Beige color."
@@ -16219,7 +16361,7 @@ msgstr "Бежевый цвет."
#: doc/classes/Color.xml
msgid "Bisque color."
-msgstr ""
+msgstr "Цвет биÑквита."
#: doc/classes/Color.xml
msgid "Black color."
@@ -16251,7 +16393,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Chartreuse color."
-msgstr ""
+msgstr "Цвет шартрез."
#: doc/classes/Color.xml
msgid "Chocolate color."
@@ -16259,11 +16401,11 @@ msgstr "Шоколадный цвет."
#: doc/classes/Color.xml
msgid "Coral color."
-msgstr ""
+msgstr "Коралловый цвет."
#: doc/classes/Color.xml
msgid "Cornflower color."
-msgstr ""
+msgstr "ВаÑильковый цвет."
#: doc/classes/Color.xml
msgid "Corn silk color."
@@ -16271,11 +16413,11 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Crimson color."
-msgstr ""
+msgstr "Багровый цвет."
#: doc/classes/Color.xml
msgid "Cyan color."
-msgstr ""
+msgstr "Голубой цвет."
#: doc/classes/Color.xml
msgid "Dark blue color."
@@ -16363,7 +16505,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Firebrick color."
-msgstr ""
+msgstr "Кирпичный цвет."
#: doc/classes/Color.xml
msgid "Floral white color."
@@ -16379,7 +16521,7 @@ msgstr "Цвет фукÑии."
#: doc/classes/Color.xml
msgid "Gainsboro color."
-msgstr ""
+msgstr "Цвет ГейнÑборо."
#: doc/classes/Color.xml
msgid "Ghost white color."
@@ -16391,7 +16533,7 @@ msgstr "Золотой цвет."
#: doc/classes/Color.xml
msgid "Goldenrod color."
-msgstr ""
+msgstr "ЗолотиÑто-рыжий цвет."
#: doc/classes/Color.xml
msgid "Gray color."
@@ -16407,7 +16549,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Honeydew color."
-msgstr ""
+msgstr "Цвет медовой роÑÑ‹."
#: doc/classes/Color.xml
msgid "Hot pink color."
@@ -16423,15 +16565,15 @@ msgstr "Цвет индиго."
#: doc/classes/Color.xml
msgid "Ivory color."
-msgstr ""
+msgstr "Цвет Ñлоновой коÑти."
#: doc/classes/Color.xml
msgid "Khaki color."
-msgstr ""
+msgstr "Цвет хаки."
#: doc/classes/Color.xml
msgid "Lavender color."
-msgstr ""
+msgstr "Цвет лаванды."
#: doc/classes/Color.xml
msgid "Lavender blush color."
@@ -16499,7 +16641,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Lime color."
-msgstr ""
+msgstr "Цвет лайма."
#: doc/classes/Color.xml
msgid "Lime green color."
@@ -16507,15 +16649,15 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Linen color."
-msgstr ""
+msgstr "Цвет льна."
#: doc/classes/Color.xml
msgid "Magenta color."
-msgstr ""
+msgstr "Пурпурный цвет."
#: doc/classes/Color.xml
msgid "Maroon color."
-msgstr ""
+msgstr "Бордовый цвет."
#: doc/classes/Color.xml
msgid "Medium aquamarine color."
@@ -16567,7 +16709,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Moccasin color."
-msgstr ""
+msgstr "Цвет мокаÑин."
#: doc/classes/Color.xml
msgid "Navajo white color."
@@ -16627,7 +16769,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Peru color."
-msgstr ""
+msgstr "ПеруанÑкий цвет."
#: doc/classes/Color.xml
msgid "Pink color."
@@ -16635,7 +16777,7 @@ msgstr "Розовый цвет."
#: doc/classes/Color.xml
msgid "Plum color."
-msgstr ""
+msgstr "Цвет Ñливы."
#: doc/classes/Color.xml
msgid "Powder blue color."
@@ -16667,7 +16809,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Salmon color."
-msgstr ""
+msgstr "Цвет лоÑоÑÑ."
#: doc/classes/Color.xml
msgid "Sandy brown color."
@@ -16683,11 +16825,11 @@ msgstr "Цвет морÑкой раковины."
#: doc/classes/Color.xml
msgid "Sienna color."
-msgstr ""
+msgstr "Цвет Ñиены."
#: doc/classes/Color.xml
msgid "Silver color."
-msgstr ""
+msgstr "СеребрÑный цвет."
#: doc/classes/Color.xml
msgid "Sky blue color."
@@ -16703,7 +16845,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Snow color."
-msgstr ""
+msgstr "Цвет Ñнега."
#: doc/classes/Color.xml
msgid "Spring green color."
@@ -16715,19 +16857,19 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Tan color."
-msgstr ""
+msgstr "Цвет загара."
#: doc/classes/Color.xml
msgid "Teal color."
-msgstr ""
+msgstr "Цвет тила."
#: doc/classes/Color.xml
msgid "Thistle color."
-msgstr ""
+msgstr "Цвет чертополоха."
#: doc/classes/Color.xml
msgid "Tomato color."
-msgstr ""
+msgstr "Цвет томатов."
#: doc/classes/Color.xml
msgid "Transparent color (white with no alpha)."
@@ -16735,7 +16877,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Turquoise color."
-msgstr ""
+msgstr "Бирюзовый цвет."
#: doc/classes/Color.xml
msgid "Violet color."
@@ -16759,11 +16901,11 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Wheat color."
-msgstr ""
+msgstr "Цвет пшеницы."
#: doc/classes/Color.xml
msgid "White color."
-msgstr ""
+msgstr "Белый цвет."
#: doc/classes/Color.xml
msgid "White smoke color."
@@ -17004,7 +17146,7 @@ msgstr ""
#: doc/classes/ColorRect.xml
msgid "Colored rectangle."
-msgstr ""
+msgstr "Цветной прÑмоугольник."
#: doc/classes/ColorRect.xml
msgid ""
@@ -17040,6 +17182,21 @@ msgid ""
"Physics the area will not detect any collisions with the concave shape at "
"all (this is a known bug)."
msgstr ""
+"РеÑÑƒÑ€Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ вогнутого многоугольника, который может быть уÑтановлен в "
+"[PhysicsBody] или облаÑÑ‚ÑŒ. Эта форма ÑоздаетÑÑ Ð¿ÑƒÑ‚ÐµÐ¼ подачи ÑпиÑка "
+"треугольников.\n"
+"[b]Примечание:[/b] При иÑпользовании Ð´Ð»Ñ Ñтолкновений [ConcavePolygonShape] "
+"предназначен Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñо ÑтатичеÑкими узлами [PhysicsBody], такими как "
+"[StaticBody], и не будет работать Ñ [KinematicBody] или [RigidBody] Ñ "
+"режимом, отличным от Static.\n"
+"[b]Предупреждение:[/b] ИÑпользование Ñтой формы Ð´Ð»Ñ [Area] (через узел "
+"[CollisionShape], Ñозданный, например. Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ опции [i]Create Trimesh "
+"Collision Sibling[/i] в меню [i]Mesh[/i], которое поÑвлÑетÑÑ Ð¿Ñ€Ð¸ выборе узла "
+"[MeshInstance]) может привеÑти к неожиданным результатам: при иÑпользовании "
+"Godot Physics облаÑÑ‚ÑŒ будет обнаруживать ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð³Ñ€Ð°Ð½Ñми "
+"треугольника в [ConcavePolygonShape] (а не Ñ Ð»ÑŽÐ±Ð¾Ð¹ \"внутренней\" чаÑтью "
+"формы, например), а при иÑпользовании Bullet Physics облаÑÑ‚ÑŒ вообще не будет "
+"обнаруживать Ñтолкновений Ñ Ð²Ð¾Ð³Ð½ÑƒÑ‚Ð¾Ð¹ формой (Ñто извеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°)."
#: doc/classes/ConcavePolygonShape.xml
msgid "Returns the faces (an array of triangles)."
@@ -17070,6 +17227,21 @@ msgid ""
"the segments in the [ConcavePolygonShape2D] (and not with any \"inside\" of "
"the shape, for example)."
msgstr ""
+"РеÑÑƒÑ€Ñ Ð²Ð¾Ð³Ð½ÑƒÑ‚Ð¾Ð¹ многоугольной 2D формы Ð´Ð»Ñ Ñ„Ð¸Ð·Ð¸ÐºÐ¸. Он ÑоÑтоит из Ñегментов и "
+"оптимален Ð´Ð»Ñ Ñложных полигональных вогнутых Ñтолкновений. Однако его не "
+"рекомендуетÑÑ Ð¸Ñпользовать Ð´Ð»Ñ ÑƒÐ·Ð»Ð¾Ð² [RigidBody2D]. ВмеÑто него "
+"рекомендуетÑÑ Ð¸Ñпользовать CollisionPolygon2D в режиме выпуклого Ñ€Ð°Ð·Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ "
+"(твердые тела) или неÑколько выпуклых объектов. Ð’ противном Ñлучае Ð´Ð»Ñ "
+"ÑтатичеÑких Ñтолкновений лучше иÑпользовать вогнутую полигональную 2D-"
+"форму.\n"
+"ОÑновное различие между [ConvexPolygonShape2D] и [ConcavePolygonShape2D] "
+"заключаетÑÑ Ð² том, что вогнутый полигон предполагает, что он вогнутый и "
+"иÑпользует более Ñложный метод Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñтолкновений, а выпуклый "
+"заÑтавлÑет ÑÐµÐ±Ñ Ð±Ñ‹Ñ‚ÑŒ выпуклым, чтобы уÑкорить обнаружение Ñтолкновений.\n"
+"[b]Предупреждение:[/b] ИÑпользование Ñтой фигуры Ð´Ð»Ñ [Area2D] (через узел "
+"[CollisionShape2D]) может дать неожиданные результаты: облаÑÑ‚ÑŒ будет "
+"обнаруживать ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ñегментами в [ConcavePolygonShape2D] (а "
+"не Ñ Ð»ÑŽÐ±Ð¾Ð¹ \"внутренней\" чаÑтью фигуры, например)."
#: doc/classes/ConcavePolygonShape2D.xml
msgid ""
@@ -17529,6 +17701,27 @@ msgid ""
"[member rect_clip_content] or [method _clips_input] enabled.\n"
"[b]Note:[/b] Event position is relative to the control origin."
msgstr ""
+"Виртуальный метод, который должен быть реализован пользователем. ИÑпользуйте "
+"Ñтот метод Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ и приема входных данных на Ñлементах "
+"пользовательÑкого интерфейÑа. См. [метод accept_event].\n"
+"Пример: щелчок по Ñлементу управлениÑ.\n"
+"[codeblock].\n"
+"func _gui_input(event):\n"
+" if event is InputEventMouseButton:\n"
+" if event.button_index == BUTTON_LEFT and event.pressed:\n"
+" print(\"Ðа Ð¼ÐµÐ½Ñ Ð½Ð°Ð¶Ð°Ð»Ð¸ D:\")\n"
+"[/codeblock].\n"
+"Событие не Ñработает, еÑли:\n"
+"* щелчок вне Ñлемента ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (Ñм. [метод has_point]);\n"
+"* у Ñлемента ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ [member mouse_filter] уÑтановлено значение [constant "
+"MOUSE_FILTER_IGNORE];\n"
+"* Ñлемент ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ñ€Ð¾Ð¶ÐµÐ½ другим [Control] Ñверху, у которого [member "
+"mouse_filter] не уÑтановлен на [constant MOUSE_FILTER_IGNORE];\n"
+"* родитель Ñлемента ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ [member mouse_filter], уÑтановленный на "
+"[constant MOUSE_FILTER_STOP] или принÑл Ñобытие;\n"
+"* Ñобытие проиÑходит вне прÑмоугольника родителÑ, и у Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½ [член "
+"rect_clip_content] или [метод _clips_input].\n"
+"[b]Примечание:[/b] Положение ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð¾Ñ‚Ð½Ð¾Ñительно начала Ñлемента управлениÑ."
#: doc/classes/Control.xml
msgid ""
@@ -17654,6 +17847,27 @@ msgid ""
"$MyButton.add_stylebox_override(\"normal\", null)\n"
"[/codeblock]"
msgstr ""
+"Создает локальное переопределение Ð´Ð»Ñ Ñ‚ÐµÐ¼Ñ‹ [StyleBox] Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ "
+"[code]именем[/code] . Локальные Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñегда имеют приоритет при "
+"получении Ñлементов темы Ð´Ð»Ñ Ñлемента управлениÑ.\n"
+"[b]Примечание:[/b] Переопределение можно удалить, приÑвоив ему значение "
+"[code]null[/code]. Это поведение уÑтарело и будет удалено в верÑии 4.0, "
+"иÑпользуйте [метод remove_stylebox_override] вмеÑто Ñтого.\n"
+"См. также [метод get_stylebox].\n"
+"[b]Пример Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑвойÑтва в StyleBox путем его дублированиÑ:[/b]\n"
+"[codeblock]\n"
+"# Ð’ приведенном ниже фрагменте предполагаетÑÑ, что дочернему узлу MyButton "
+"назначен StyleBoxFlat.\n"
+"# РеÑурÑÑ‹ разделÑÑŽÑ‚ÑÑ Ð¼ÐµÐ¶Ð´Ñƒ ÑкземплÑрами, поÑтому нам нужно продублировать "
+"его.\n"
+"# чтобы избежать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ вида вÑех оÑтальных кнопок.\n"
+"var new_stylebox_normal = $MyButton.get_stylebox(\"normal\").duplicate()\n"
+"new_stylebox_normal.border_width_top = 3\n"
+"new_stylebox_normal.border_color = Color(0, 1, 0.5)\n"
+"$MyButton.add_stylebox_override(\"normal\", new_stylebox_normal)\n"
+"# Удалите переопределение Ñтилей.\n"
+"$MyButton.add_stylebox_override(\"normal\", null)\n"
+"[/codeblock]."
#: doc/classes/Control.xml
msgid ""
@@ -18362,6 +18576,27 @@ msgid ""
"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
"[/codeblock]"
msgstr ""
+"ИзменÑет текÑÑ‚ вÑплывающей подÑказки. ПодÑказка поÑвлÑетÑÑ, когда курÑор "
+"мыши Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¾Ñтаивает над Ñтим Ñлементом ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² течение "
+"неÑкольких мгновений, при уÑловии, что ÑвойÑтво [member mouse_filter] не "
+"ÑвлÑетÑÑ [constant MOUSE_FILTER_IGNORE]. Ð’Ñ‹ можете изменить времÑ, "
+"необходимое Ð´Ð»Ñ Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð²Ñплывающей подÑказки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ опции [code]gui/"
+"timers/tooltip_delay_sec[/code] в ÐаÑтройках проекта.\n"
+"Ð’ÑÐ¿Ð»Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð¿Ð¾Ð´Ñказка будет иÑпользовать либо реализацию по умолчанию, либо "
+"пользовательÑкую, которую вы можете Ñоздать, переопределив [метод "
+"_make_custom_tooltip]. Ð’ÑÐ¿Ð»Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð¿Ð¾Ð´Ñказка по умолчанию включает "
+"[PopupPanel] и [Label], ÑвойÑтва темы которых можно наÑтроить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "
+"методов [Theme] Ñ [code]\"TooltipPanel\"[/code] и [code]\"TooltipLabel\"[/"
+"code] ÑоответÑтвенно. Ðапример:\n"
+"[codeblock]\n"
+"var style_box = StyleBoxFlat.new()\n"
+"style_box.set_bg_color(Color(1, 1, 0))\n"
+"style_box.set_border_width_all(2)\n"
+"# ЗдеÑÑŒ мы предполагаем, что ÑвойÑтву `theme` была предварительно назначена "
+"пользовательÑÐºÐ°Ñ Ñ‚ÐµÐ¼Ð°.\n"
+"theme.set_stylebox(\"panel\", \"TooltipPanel\", style_box)\n"
+"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
+"[/codeblock]"
#: doc/classes/Control.xml
msgid ""
@@ -18482,6 +18717,22 @@ msgid ""
"[code]yield(get_tree(), \"idle_frame\")[/code] then set its [member "
"rect_scale] property."
msgstr ""
+"МаÑштаб узла отноÑительно его [member rect_size]. Измените Ñто ÑвойÑтво, "
+"чтобы изменить маÑштаб узла отноÑительно его [член rect_pivot_offset]. "
+"МаÑштаб [member hint_tooltip] Ñлемента ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ будет изменÑÑ‚ÑŒÑÑ Ð² "
+"ÑоответÑтвии Ñ Ñтим значением.\n"
+"[b]Примечание:[/b] Это ÑвойÑтво в оÑновном предназначено Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² "
+"целÑÑ… анимации. ТекÑÑ‚ внутри Ñлемента ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ выглÑдеть "
+"пикÑелированным или размытым при маÑштабировании Ñлемента управлениÑ. Ð”Ð»Ñ "
+"поддержки неÑкольких разрешений в вашем проекте иÑпользуйте ÑоответÑтвующий "
+"режим раÑÑ‚ÑÐ¶ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¾Ð²Ð¾Ð³Ð¾ Ñкрана, как опиÑано в [url=$DOCS_URL/tutorials/"
+"rendering/multiple_resolutions.html]документации[/url] вмеÑто "
+"маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Controls по отдельноÑти.\n"
+"[b]Примечание:[/b] ЕÑли узел Control ÑвлÑетÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼ узлом узла "
+"[Container], маÑштаб будет Ñброшен на [code]Vector2(1, 1)[/code] при "
+"инÑтанÑировании Ñцены. Чтобы уÑтановить маÑштаб Ñлемента ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ его "
+"инÑтанцировании, подождите один кадр, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ [code]yield(get_tree(), "
+"\"idle_frame\")[/code], а затем уÑтановите его ÑвойÑтво [member rect_scale]."
#: doc/classes/Control.xml
msgid ""
@@ -19750,6 +20001,43 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] Not available in HTML5 exports."
msgstr ""
+"КлаÑÑ Crypto позволÑет вам получить доÑтуп к некоторым более продвинутым "
+"криптографичеÑким функциÑм в Godot.\n"
+"Ðа данный момент Ñто Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ ÐºÑ€Ð¸Ð¿Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑки безопаÑных Ñлучайных байтов, "
+"Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ RSA-ключей и ÑамоподпиÑанных Ñертификатов X509, шифрование/"
+"дешифрование аÑимметричных ключей, а также подпиÑание/верификациÑ.\n"
+"[codeblock].\n"
+"раÑширÑет Node\n"
+"\n"
+"var crypto = Crypto.new()\n"
+"var key = CryptoKey.new()\n"
+"var cert = X509Certificate.new()\n"
+"\n"
+"func _ready():\n"
+" # Генерируем новый RSA-ключ.\n"
+" key = crypto.generate_rsa(4096)\n"
+" # Генерируем новый ÑамоподпиÑанный Ñертификат Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ ключом.\n"
+" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
+"O=My Game Company,C=IT\")\n"
+" # Сохраните ключ и Ñертификат в папке пользователÑ.\n"
+" key.save(\"user://generated.key\")\n"
+" cert.save(\"user://generated.crt\")\n"
+" # Шифрование\n"
+" var data = \"Ðекоторые данные\"\n"
+" var encrypted = crypto.encrypt(key, data.to_utf8())\n"
+" # РаÑшифровка\n"
+" var decrypted = crypto.decrypt(key, encrypted)\n"
+" # ПодпиÑание\n"
+" var signature = crypto.sign(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), key)\n"
+" # Проверка\n"
+" verified = crypto.verify(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), signature, key)\n"
+" # ПроверÑет\n"
+" assert(verified)\n"
+" assert(data.to_utf8() == decrypted)\n"
+"[/codeblock].\n"
+"[b]Примечание:[/b] ÐедоÑтупно в ÑкÑпорте HTML5."
#: doc/classes/Crypto.xml
msgid ""
@@ -19936,6 +20224,19 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"Ð”Ð»Ñ Ñложного раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ„Ð¸Ð³ÑƒÑ€ иногда требуетÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñтруктуру в узлы "
+"CSG. Узел CSGCombiner позволÑет Ñоздать такую Ñтруктуру. Узел инкапÑулирует "
+"результат операций CSG Ñвоих дочерних узлов. Таким образом, можно выполнить "
+"операции над одним набором фигур, которые ÑвлÑÑŽÑ‚ÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼Ð¸ Ñлементами "
+"одного узла CSGCombiner, и Ñ€Ñд отдельных операций над вторым набором фигур, "
+"которые ÑвлÑÑŽÑ‚ÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼Ð¸ Ñлементами второго узла CSGCombiner, а затем "
+"выполнить операцию, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ñпользует Ñти два конечных результата в "
+"качеÑтве входных данных Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ фигуры.\n"
+"[b]Примечание:[/b] CSG-узлы предназначены Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ Ñоздании "
+"прототипов уровней. Создание CSG-узлов требует значительных затрат "
+"процеÑÑора по Ñравнению Ñ Ñозданием [MeshInstance] Ñ [PrimitiveMesh]. "
+"Перемещение узла CSG внутри другого узла CSG также требует значительных "
+"затрат процеÑÑора, поÑтому Ñтого Ñледует избегать во Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð³Ð¾ процеÑÑа."
#: modules/csg/doc_classes/CSGCylinder.xml
msgid "A CSG Cylinder shape."
@@ -21139,6 +21440,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "Ð’Ñ‹Ñота цилиндра."
@@ -21185,7 +21494,7 @@ msgstr ""
#: doc/classes/Dictionary.xml
msgid "Dictionary type."
-msgstr ""
+msgstr "Тип ÑловарÑ."
#: doc/classes/Dictionary.xml
msgid ""
@@ -23357,6 +23666,25 @@ msgid ""
" return state\n"
"[/codeblock]"
msgstr ""
+"Переопределите Ñтот метод, чтобы предоÑтавить данные ÑоÑтоÑниÑ, которые вы "
+"хотите Ñохранить, например, положение вида, наÑтройки Ñетки, Ñворачивание и "
+"Ñ‚.д. Эти данные иÑпользуютÑÑ Ð¿Ñ€Ð¸ Ñохранении Ñцены (чтобы ÑоÑтоÑние "
+"ÑохранÑлоÑÑŒ при ее повторном открытии) и при переключении вкладок (чтобы "
+"ÑоÑтоÑние можно было воÑÑтановить при возврате на вкладку). Эти данные "
+"автоматичеÑки ÑохранÑÑŽÑ‚ÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñцены в файле [code]editstate[/code] в "
+"папке метаданных редактора. ЕÑли вы хотите Ñохранить глобальные (незавиÑимые "
+"от Ñцены) данные редактора Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ плагина, вы можете иÑпользовать [метод "
+"get_window_layout] вмеÑто Ñтого.\n"
+"ИÑпользуйте [method set_state] Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñохраненного ÑоÑтоÑниÑ.\n"
+"[b]Примечание:[/b] Этот метод не Ñледует иÑпользовать Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ð°Ð¶Ð½Ñ‹Ñ… "
+"наÑтроек, которые должны ÑохранÑÑ‚ÑŒÑÑ Ð² проекте.\n"
+"[b]Примечание:[/b] Ð”Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоÑтоÑÐ½Ð¸Ñ "
+"необходимо реализовать [метод get_plugin_name].\n"
+"[codeblock].\n"
+"func get_state():\n"
+" var state = {\"zoom\": zoom, \"preferred_color\": my_color}\n"
+" return state\n"
+"[/codeblock]"
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -23907,6 +24235,33 @@ msgid ""
"- Binary format in FBX 2017\n"
"[/codeblock]"
msgstr ""
+"Это импортер 3D-активов FBX Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ поддержкой большинÑтва функций FBX.\n"
+"При ÑкÑпорте FBX-Ñцены из Autodesk Maya иÑпользуйте Ñти наÑтройки ÑкÑпорта "
+"FBX:\n"
+"[codeblock]\n"
+"- Группы ÑглаживаниÑ\n"
+"- Сгладить Ñетку\n"
+"- Triangluate (Ð´Ð»Ñ Ñеток Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ð¼Ð¸ ÑмешениÑ)\n"
+"- Запечь анимацию\n"
+"- ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð²Ñ‹Ð±Ð¾Ñ€ÐºÐ°\n"
+"- Деформированные модели\n"
+"- Скины\n"
+"- Фигуры наложениÑ\n"
+"- Фильтры кривых\n"
+"- Уменьшитель поÑтоÑнного ключа\n"
+"- Только автоматичеÑкие каÑательные\n"
+"- Ðе отмечайте *Ðе отмечайте* Constraints (так как Ñто приведет к поломке "
+"файла)\n"
+"- Можно уÑтановить флажок Embed Media (вÑтраивает текÑтуры в ÑкÑпортируемый "
+"FBX-файл).\n"
+" - Обратите внимание, что при импорте вÑтроенной Ñреды текÑтура и Ñетка "
+"будут одним неизменÑемым файлом.\n"
+" - Вам придетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ ÑкÑпортировать и повторно импортировать FBX, еÑли "
+"текÑтура изменилаÑÑŒ.\n"
+"- Единицы измерениÑ: Сантиметры\n"
+"- ОÑÑŒ вверх: Y\n"
+"- Двоичный формат в FBX 2017\n"
+"[/codeblock]."
#: modules/gltf/doc_classes/EditorSceneImporterGLTF.xml
msgid ""
@@ -23985,7 +24340,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -25032,6 +25390,27 @@ msgid ""
"Effects\" by default. It improves the performance on mobile devices, but at "
"the same time affects the screen display on mobile devices."
msgstr ""
+"РеÑÑƒÑ€Ñ Ð´Ð»Ñ ÑƒÐ·Ð»Ð¾Ð² Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ (например, [WorldEnvironment]), которые "
+"определÑÑŽÑ‚ неÑколько операций Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸ÐµÐ¼ (например, фон [Sky] или [Color], "
+"окружающий Ñвет, туман, глубина резкоÑти...). Эти параметры влиÑÑŽÑ‚ на "
+"конечный рендеринг Ñцены. ПорÑдок Ñтих операций Ñледующий:\n"
+"- Размытие глубины резкоÑти\n"
+"- Свечение\n"
+"- Ð¢Ð¾Ð½Ð¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° (автоÑкÑпозициÑ)\n"
+"- Корректировки\n"
+"ЕÑли Ð´Ð»Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ [Viewport] уÑтановлено значение \"2D без выборки\", вÑе "
+"Ñффекты поÑтобработки будут недоÑтупны. При уÑтановке \"3D без Ñффектов\" "
+"Ñледующие опции будут недоÑтупны:\n"
+"- Ssao\n"
+"- Ss Reflections\n"
+"Это можно наÑтроить Ð´Ð»Ñ ÐºÐ¾Ñ€Ð½ÐµÐ²Ð¾Ð³Ð¾ вьюпорта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [member ProjectSettings."
+"rendering/quality/intended_usage/framebuffer_allocation] или Ð´Ð»Ñ "
+"определенных вьюпортов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑвойÑтва [member Viewport.usage].\n"
+"Обратите внимание, что [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] имеет переопределение Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… "
+"платформ, чтобы иÑпользовать \"3D без Ñффектов\" по умолчанию. Это улучшает "
+"производительноÑÑ‚ÑŒ на мобильных уÑтройÑтвах, но в то же Ð²Ñ€ÐµÐ¼Ñ Ð²Ð»Ð¸Ñет на "
+"отображение Ñкрана на мобильных уÑтройÑтвах."
#: doc/classes/Environment.xml doc/classes/WorldEnvironment.xml
#, fuzzy
@@ -26431,6 +26810,22 @@ msgid ""
"the [method @GDScript.is_equal_approx] and [method @GDScript.is_zero_approx] "
"methods instead of [code]==[/code] to compare [float] values for equality."
msgstr ""
+"Ð’Ñтроенный тип [float] - Ñто 64-битное чиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой двойной "
+"точноÑти, Ñквивалентное [code]double[/code] в C++. Этот тип имеет 14 "
+"надежных деÑÑтичных цифр точноÑти. Тип [float] может хранитьÑÑ Ð² [Variant], "
+"который ÑвлÑетÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼ типом, иÑпользуемым движком. МакÑимальное значение "
+"[float] приблизительно равно [code]1.79769e308[/code], а минимальное - "
+"приблизительно [code]-1.79769e308[/code].\n"
+"БольшинÑтво методов и ÑвойÑтв в движке иÑпользуют 32-битные чиÑла Ñ "
+"плавающей точкой одинарной точноÑти, Ñквивалентные [code]float[/code] в C++, "
+"которые имеют 6 надежных деÑÑтичных цифр точноÑти. Ð”Ð»Ñ Ñтруктур данных, "
+"таких как [Vector2] и [Vector3], Godot иÑпользует 32-битные чиÑла Ñ "
+"плавающей точкой.\n"
+"Математика, выполнÑÐµÐ¼Ð°Ñ Ñ Ð¸Ñпользованием типа [float], не гарантирует "
+"точноÑти или детерминированноÑти, и чаÑто будет приводить к небольшим "
+"ошибкам. Обычно Ð´Ð»Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ [float] на равенÑтво Ñледует "
+"иÑпользовать методы [method @GDScript.is_equal_approx] и [method @GDScript."
+"is_zero_approx] вмеÑто [code]==[/code]."
#: doc/classes/float.xml
msgid "Wikipedia: Double-precision floating-point format"
@@ -26502,6 +26897,22 @@ msgid ""
"emoji) are [i]not[/i] supported on Windows. They will display as unknown "
"characters instead. This will be resolved in Godot 4.0."
msgstr ""
+"Шрифт Ñодержит набор Ñимволов, ÑовмеÑтимый Ñ Unicode, а также возможноÑÑ‚ÑŒ "
+"риÑовать его Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ шириной, подъемом, ÑпуÑком и кернингом. О Ñоздании "
+"шрифтов из файлов TTF (или других форматов шрифтов) Ñм. раздел \"Поддержка "
+"шрифтов редактором\".\n"
+"[b]Примечание:[/b] ЕÑли [DynamicFont] не Ñодержит Ñимвол, иÑпользуемый в "
+"Ñтроке, то данный Ñимвол будет заменен кодовой точкой [code]0xfffd[/code], "
+"еÑли она доÑтупна в [DynamicFont]. ЕÑли Ñтот заменÑющий Ñимвол недоÑтупен в "
+"DynamicFont, Ñимвол будет Ñкрыт без Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½Ñющего Ñимвола в "
+"Ñтроке.\n"
+"[b]Примечание:[/b] ЕÑли [BitmapFont] не Ñодержит Ñимвол, иÑпользуемый в "
+"Ñтроке, то данный Ñимвол будет Ñкрыт без Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½Ñющего Ñимвола в "
+"Ñтроке.\n"
+"[b]Примечание:[/b] Символы Юникода поÑле [code]0xffff[/code] (например, "
+"большинÑтво Ñмодзи) [i]не[/i] поддерживаютÑÑ Ð² Windows. ВмеÑто Ñтого они "
+"будут отображатьÑÑ ÐºÐ°Ðº неизвеÑтные Ñимволы. Эта проблема будет решена в "
+"верÑии Godot 4.0."
#: doc/classes/Font.xml
msgid ""
@@ -27432,6 +27843,29 @@ msgid ""
"150), Vector2(50, 150)]\n"
"[/codeblock]"
msgstr ""
+"Раздувает или Ñдувает [code]многоугольник[/code] на [code]дельту[/code] "
+"единиц (пикÑелей). ЕÑли [code]дельта[/code] положительна, полигон "
+"увеличиваетÑÑ Ð½Ð°Ñ€ÑƒÐ¶Ñƒ. ЕÑли [code]дельта[/code] отрицательна, полигон "
+"уменьшаетÑÑ Ð²Ð½ÑƒÑ‚Ñ€ÑŒ. Возвращает маÑÑив полигонов, так как при раздувании/"
+"Ñжатии может получитьÑÑ Ð½ÐµÑколько диÑкретных полигонов. Возвращает пуÑтой "
+"маÑÑив, еÑли [code]delta[/code] отрицательна и ее абÑолютное значение "
+"приблизительно превышает минимальные размеры ограничивающего прÑмоугольника "
+"многоугольника.\n"
+"Вершины каждого многоугольника будут округлены в ÑоответÑтвии Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ "
+"[code]join_type[/code], Ñм. [enum PolyJoinType].\n"
+"В результате операции может быть получен внешний многоугольник (граница) и "
+"внутренний многоугольник (отверÑтие), которые можно отличить, вызвав [метод "
+"is_polygon_clockwise].\n"
+"[b]Примечание:[/b] Ð”Ð»Ñ Ñпециального перевода вершин многоугольника "
+"иÑпользуйте метод [method Transform2D.xform]:\n"
+"[codeblock].\n"
+"var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, "
+"100), Vector2(0, 100)])\n"
+"var offset = Vector2(50, 50)\n"
+"polygon = Transform2D(0, offset).xform(polygon)\n"
+"print(polygon) # печатает [Vector2(50, 50), Vector2(150, 50), Vector2(150, "
+"150), Vector2(50, 150)]\n"
+"[/codeblock]"
#: doc/classes/Geometry.xml
msgid ""
@@ -27813,6 +28247,23 @@ msgid ""
"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
"directly."
msgstr ""
+"Запекает Ñффект из вÑех [GeometryInstance]ов, помеченных [member "
+"GeometryInstance.use_in_baked_light] и [Light]ов, помеченных либо [constant "
+"Light.BAKE_INDIRECT], либо [constant Light.BAKE_ALL]. ЕÑли "
+"[code]create_visual_debug[/code] равен [code]true[/code], то поÑле Ð·Ð°Ð¿ÐµÐºÐ°Ð½Ð¸Ñ "
+"Ñвета будет Ñгенерирован [MultiMesh], который имеет куб, предÑтавлÑющий "
+"каждую твердую Ñчейку, причем каждый куб окрашен в цвет альбедо Ñчейки. Это "
+"можно иÑпользовать Ð´Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ данных [GIProbe] и отладки любых "
+"проблем, которые могут возникнуть.\n"
+"[b]Примечание:[/b] [method bake] работает как в редакторе, так и в "
+"ÑкÑпортированных проектах. Это делает его подходÑщим Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð½Ð¾ "
+"генерируемых или пользовательÑких уровней. Запекание [GIProbe] обычно "
+"занимает от 5 до 20 Ñекунд в большинÑтве Ñцен. Уменьшение [member subdiv] "
+"может уÑкорить запекание.\n"
+"[b]Примечание:[/b] [GeometryInstance]Ñ‹ и [Light]Ñ‹ должны быть полноÑтью "
+"готовы до вызова [метода bake]. ЕÑли вы Ñоздаете их процедурно и некоторые "
+"Ñетки или оÑвещение отÑутÑтвуют в вашем запекаемом [GIProbe], иÑпользуйте "
+"[code]call_deferred(\"bake\")[/code] вмеÑто прÑмого вызова [метода bake]."
#: doc/classes/GIProbe.xml
msgid "Calls [method bake] with [code]create_visual_debug[/code] enabled."
@@ -28180,7 +28631,7 @@ msgstr ""
#: doc/classes/GradientTexture.xml
msgid "Gradient-filled texture."
-msgstr ""
+msgstr "ТекÑтура Ñ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð½Ñ‹Ð¼ заполнением."
#: doc/classes/GradientTexture.xml
msgid ""
@@ -28944,6 +29395,21 @@ msgid ""
"light not affect the first layer, the whole GridMap won't be lit by the "
"light in question."
msgstr ""
+"GridMap позволÑет размещать Ñетки на Ñетке в интерактивном режиме. Она "
+"работает как из редактора, так и из Ñкриптов, что может помочь вам Ñоздать "
+"внутриигровые редакторы уровней.\n"
+"GridMap иÑпользует [MeshLibrary], ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñодержит ÑпиÑок плиток. ÐšÐ°Ð¶Ð´Ð°Ñ "
+"плитка - Ñто Ñетка Ñ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð»Ð°Ð¼Ð¸ и дополнительными фигурами Ñтолкновений и "
+"навигации.\n"
+"GridMap Ñодержит коллекцию Ñчеек. ÐšÐ°Ð¶Ð´Ð°Ñ Ñчейка Ñетки ÑÑылаетÑÑ Ð½Ð° тайл в "
+"[MeshLibrary]. Ð’Ñе Ñчейки в карте имеют одинаковые размеры.\n"
+"Внутри карта GridMap разбиваетÑÑ Ð½Ð° разреженную коллекцию октантов Ð´Ð»Ñ "
+"Ñффективного рендеринга и обработки физики. Каждый октант имеет одинаковые "
+"размеры и может Ñодержать неÑколько Ñчеек.\n"
+"[b]Примечание:[/b] GridMap не раÑширÑет [VisualInstance] и поÑтому не может "
+"быть Ñкрыт или замаÑкирован на оÑнове [member VisualInstance.layers]. ЕÑли "
+"Ñделать так, чтобы Ñвет не влиÑл на первый Ñлой, то вÑÑ GridMap не будет "
+"оÑвещена данным Ñветом."
#: modules/gridmap/doc_classes/GridMap.xml
msgid "Using gridmaps"
@@ -29168,6 +29634,33 @@ msgid ""
" printt(res.hex_encode(), Array(res))\n"
"[/codeblock]"
msgstr ""
+"КлаÑÑ HashingContext предоÑтавлÑет Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ "
+"криптографичеÑких Ñ…Ñшей за неÑколько итераций. Это полезно, например, при "
+"вычиÑлении Ñ…Ñшей больших файлов (чтобы не загружать их вÑе в памÑÑ‚ÑŒ), "
+"Ñетевых потоков и потоков данных в целом (чтобы не держать буферы).\n"
+"ПеречиÑление [enum HashType] показывает поддерживаемые алгоритмы "
+"Ñ…ÑшированиÑ.\n"
+"[codeblock]\n"
+"const CHUNK_SIZE = 1024\n"
+"\n"
+"func hash_file(path):\n"
+" var ctx = HashingContext.new()\n"
+" var file = File.new()\n"
+" # ЗапуÑтите контекÑÑ‚ SHA-256.\n"
+" ctx.start(HashingContext.HASH_SHA256)\n"
+" # Проверьте, ÑущеÑтвует ли файл.\n"
+" if not file.file_exists(path):\n"
+" return\n"
+" # Открываем файл Ð´Ð»Ñ Ñ…ÑшированиÑ.\n"
+" file.open(path, File.READ)\n"
+" # ОбновлÑем контекÑÑ‚ поÑле Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ чанка.\n"
+" while not file.eof_reached():\n"
+" ctx.update(file.get_buffer(CHUNK_SIZE))\n"
+" # Получение вычиÑленного Ñ…Ñша.\n"
+" var res = ctx.finish()\n"
+" # Выведите результат в виде шеÑтнадцатеричной Ñтроки и маÑÑива.\n"
+" printt(res.hex_encode(), Array(res))\n"
+"[/codeblock]."
#: doc/classes/HashingContext.xml
msgid "Closes the current context, and return the computed hash."
@@ -29453,7 +29946,7 @@ msgstr ""
#: doc/classes/HSeparator.xml
msgid "Horizontal separator."
-msgstr ""
+msgstr "Горизонтальный разделитель."
#: doc/classes/HSeparator.xml
msgid ""
@@ -29473,7 +29966,7 @@ msgstr ""
#: doc/classes/HSlider.xml
msgid "Horizontal slider."
-msgstr ""
+msgstr "Горизонтальный Ñлайдер."
#: doc/classes/HSlider.xml
msgid ""
@@ -30405,6 +30898,22 @@ msgid ""
"url] for more details). As a workaround, you can send data as a query string "
"in the URL. See [method String.http_escape] for an example."
msgstr ""
+"Создает Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° базовом [HTTPClient]. ЕÑли нет ошибок конфигурации, "
+"пытаетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ [метод HTTPClient.connect_to_host] и "
+"передает параметры в [метод HTTPClient.request].\n"
+"Возвращает [constant OK], еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ ÑƒÑпешно Ñоздан. (Это не означает, что "
+"Ñервер ответил), [конÑтанта ERR_UNCONFIGURED], еÑли не находитÑÑ Ð² дереве, "
+"[конÑтанта ERR_BUSY], еÑли вÑе еще обрабатывает предыдущий запроÑ, "
+"[конÑтанта ERR_INVALID_PARAMETER], еÑли Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ñтрока не ÑвлÑетÑÑ "
+"правильным форматом URL, или [конÑтанта ERR_CANT_CONNECT], еÑли не "
+"иÑпользуетÑÑ Ð¿Ð¾Ñ‚Ð¾Ðº и [HTTPClient] не может ÑоединитьÑÑ Ñ Ñ…Ð¾Ñтом.\n"
+"[b]Примечание:[/b] ЕÑли [code]метод[/code] ÑвлÑетÑÑ [constant HTTPClient."
+"METHOD_GET], Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°, Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ñ‡ÐµÑ€ÐµÐ· [code]request_data[/"
+"code], может быть проигнорирована Ñервером или даже привеÑти к отклонению "
+"запроÑа (подробнее Ñм. [url=https://datatracker.ietf.org/doc/html/"
+"rfc7231#section-4.3.1]RFC 7231 раздел 4.3.1[/url]). Ð’ качеÑтве обходного "
+"пути вы можете отправить данные в виде Ñтроки запроÑа в URL. Пример Ñм. в "
+"[method String.http_escape]."
#: doc/classes/HTTPRequest.xml
msgid ""
@@ -30520,7 +31029,7 @@ msgstr ""
#: doc/classes/Image.xml
msgid "Image datatype."
-msgstr ""
+msgstr "Тип данных изображениÑ."
#: doc/classes/Image.xml
msgid ""
@@ -31888,6 +32397,19 @@ msgid ""
"recommended to keep it enabled for games which don't require very reactive "
"input, as this will decrease CPU usage."
msgstr ""
+"ЕÑли [code]true[/code], аналогичные входные ÑобытиÑ, поÑылаемые операционной "
+"ÑиÑтемой, накапливаютÑÑ. Когда накопление входных данных включено, вÑе "
+"входные ÑобытиÑ, генерируемые в течение кадра, будут объединены и выданы "
+"поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€ÐµÐ½Ð´ÐµÑ€Ð¸Ð½Ð³Ð° кадра. Таким образом, Ñто ограничивает "
+"количеÑтво вызовов метода ввода в Ñекунду до FPS рендеринга.\n"
+"Ðакопление ввода можно отключить, чтобы получить немного более точный/"
+"реактивный ввод ценой ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ процеÑÑора. Ð’ приложениÑÑ…, где "
+"требуетÑÑ Ñ€Ð¸Ñовать линии от руки, накопление ввода обычно отключаетÑÑ Ð½Ð° "
+"Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¸ пользователем, чтобы получить результаты, точно "
+"ÑоответÑтвующие реальному вводу.\n"
+"[b]Примечание:[/b] Ðакопление ввода [i]включено[/i] по умолчанию. "
+"РекомендуетÑÑ Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ его включенным в играх, которые не требуют очень "
+"реактивного ввода, так как Ñто Ñнизит нагрузку на процеÑÑор."
#: doc/classes/Input.xml
msgid "Emitted when a joypad device has been connected or disconnected."
@@ -32023,7 +32545,7 @@ msgstr ""
#: doc/classes/InputEvent.xml
msgid "InputEvent"
-msgstr ""
+msgstr "InputEvent"
#: doc/classes/InputEvent.xml
msgid ""
@@ -32764,6 +33286,25 @@ msgid ""
"print(max_int) # -9223372036854775808, we overflowed and wrapped around.\n"
"[/codeblock]"
msgstr ""
+"Знаковый 64-битный целочиÑленный тип.\n"
+"Он может принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² интервале [code][-2^63, 2^63 - 1][/code], Ñ‚.е. "
+"[code][-9223372036854775808, 9223372036854775807][/code]. Превышение Ñтих "
+"границ будет обернуто.\n"
+"[int] ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼ [Variant], и поÑтому будет иÑпользоватьÑÑ Ð¿Ñ€Ð¸ "
+"приÑвоении целочиÑленного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ [Variant]. Он также может быть применен Ñ "
+"помощью подÑказки типа [code]: int[/code].\n"
+"[codeblock].\n"
+"var my_variant = 0 # int, значение 0.\n"
+"my_variant += 4.2 # float, значение 4.2.\n"
+"var my_int: int = 1 # int, значение 1.\n"
+"my_int = 4.2 # int, значение 4, правое значение неÑвно приводитÑÑ Ðº int.\n"
+"my_int = int(\"6.7\") # int, значение 6, Ñтрока Ñвно приводитÑÑ Ðº int.\n"
+"\n"
+"var max_int = 9223372036854775807\n"
+"print(max_int) # 9223372036854775807, OK.\n"
+"max_int += 1\n"
+"print(max_int) # -9223372036854775808, мы переполнилиÑÑŒ и обернулиÑÑŒ.\n"
+"[/codeblock]"
#: doc/classes/int.xml
msgid ""
@@ -33525,6 +34066,41 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] Only available in the HTML5 platform."
msgstr ""
+"JavaScriptObject иÑпользуетÑÑ Ð´Ð»Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ JavaScript, "
+"полученными или Ñозданными Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [метода JavaScript.get_interface], "
+"[метода JavaScript.create_object] или [метода JavaScript.create_callback].\n"
+"Пример:\n"
+"[codeblock]\n"
+"раÑширÑет Node\n"
+"\n"
+"var _my_js_callback = JavaScript.create_callback(self, \"myCallback\") # Эта "
+"ÑÑылка должна быть Ñохранена\n"
+"var console = JavaScript.get_interface(\"console\")\n"
+"\n"
+"func _init():\n"
+" var buf = JavaScript.create_object(\"ArrayBuffer\", 10) # новый "
+"ArrayBuffer(10)\n"
+" print(buf) # печатает [JavaScriptObject:OBJECT_ID]\n"
+" var uint8arr = JavaScript.create_object(\"Uint8Array\", buf) # новый "
+"Uint8Array(buf)\n"
+" uint8arr[1] = 255\n"
+" prints(uint8arr[1], uint8arr.byteLength) # печатает 255 10\n"
+" console.log(uint8arr) # печатает в конÑоли браузера \"Uint8Array(10) "
+"[ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\"\n"
+"\n"
+" # Эквивалент JavaScript: Array.from(uint8arr).forEach(myCallback)\n"
+" JavaScript.get_interface(\"Array\").from(uint8arr)."
+"forEach(_my_js_callback)\n"
+"\n"
+"func myCallback(args):\n"
+" # Будет вызван Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸, переданными в обратный вызов \"forEach\".\n"
+" # [0, 0, [JavaScriptObject:1173]]\n"
+" # [255, 1, [JavaScriptObject:1173]]\n"
+" # ...\n"
+" # [0, 9, [JavaScriptObject:1180]]\n"
+" print(args)\n"
+"[/codeblock].\n"
+"[b]Примечание:[/b] ДоÑтупно только в платформе HTML5."
#: doc/classes/JNISingleton.xml
msgid ""
@@ -33714,7 +34290,6 @@ msgid ""
msgstr ""
#: doc/classes/JSONParseResult.xml
-#, fuzzy
msgid ""
"A [Variant] containing the parsed JSON. Use [method @GDScript.typeof] or the "
"[code]is[/code] keyword to check if it is what you expect. For example, if "
@@ -33736,25 +34311,25 @@ msgid ""
" push_error(\"Unexpected results.\")\n"
"[/codeblock]"
msgstr ""
-"ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ ([Variant]), ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ€Ð°Ð·Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ JSON. ИÑпользуйте [method "
-"@GDScript.typeof] или ключевое Ñлово [code]is[/code] чтобы проверить "
-"ожидаемый тип. Ðапример, еÑли иÑходный JSON начинаетÑÑ Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð½Ñ‹Ñ… Ñкобок "
-"([code]{}[/code]), будет возвращён Ñловарь ([Dictionary]). ЕÑли иÑходный "
-"JSON начинаетÑÑ Ñ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ñ‹Ñ… Ñкобок ([code][][/code]), будет возвращён "
-"маÑÑив ([Array]).\n"
-"[b]Примечание:[/b] Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ JSON не определÑет типы integer и float, "
-"только тип[i]number[/i]. Таким образом, при разборе Ñтроки JSON вÑе чиÑловые "
-"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ преобразованы в тип [float].\n"
-"[b]Примечание:[/b] JSON-объекты не ÑохранÑÑŽÑ‚ порÑдок ключей как Ñловари "
-"Godot, поÑтому вы не должны полагатьÑÑ Ð½Ð° порÑдок ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹, еÑли "
-"Ñловарь получен из JSON. МаÑÑивы JSON, напротив, ÑохранÑÑŽÑ‚ порÑдок Ñвоих "
-"Ñлементов:\n"
-"[codeblock]\n"
+"Вариант [Variant], Ñодержащий разобранный JSON. ИÑпользуйте [method "
+"@GDScript.typeof] или ключевое Ñлово [code]is[/code], чтобы проверить, "
+"ÑвлÑетÑÑ Ð»Ð¸ Ñто тем, что вы ожидаете. Ðапример, еÑли иÑточник JSON "
+"начинаетÑÑ Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð½Ñ‹Ñ… Ñкобок ([code]{}[/code]), будет возвращен [Словарь]. "
+"ЕÑли иÑточник JSON начинаетÑÑ Ñо Ñкобок ([code][][/code]), будет возвращен "
+"[МаÑÑив].\n"
+"[b]Примечание:[/b] Ð’ Ñпецификации JSON не определены типы integer или float, "
+"а только тип [i]number[/i]. ПоÑтому при разборе текÑта JSON вÑе чиÑловые "
+"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ преобразованы в типы [float].\n"
+"[b]Примечание:[/b] Объекты JSON не ÑохранÑÑŽÑ‚ порÑдок ключей, как Ñловари "
+"Godot, поÑтому не Ñледует полагатьÑÑ Ð½Ð° то, что ключи будут раÑположены в "
+"определенном порÑдке, еÑли Ñловарь поÑтроен из JSON. Ðапротив, маÑÑивы JSON "
+"ÑохранÑÑŽÑ‚ порÑдок Ñвоих Ñлементов:\n"
+"[codeblock].\n"
"var p = JSON.parse('[\"hello\", \"world\", \"!\"]')\n"
"if typeof(p.result) == TYPE_ARRAY:\n"
-" print(p.result[0]) # Выведет \"hello\"\n"
+" print(p.result[0]) # Печатает \"hello\".\n"
"else:\n"
-" push_error(\"Ðеожиданный результат.\")\n"
+" push_error(\"Ðеожиданные результаты.\")\n"
"[/codeblock]"
#: doc/classes/JSONRPC.xml
@@ -33849,6 +34424,21 @@ msgid ""
"while performing collision tests. This makes them really useful to implement "
"characters that collide against a world, but don't require advanced physics."
msgstr ""
+"КинематичеÑкие тела - Ñто оÑобые типы тел, которые предназначены Ð´Ð»Ñ "
+"ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼. Ðа них вообще не влиÑет физика; Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… типов "
+"тел, таких как перÑонаж или жеÑткое тело, Ñто то же Ñамое, что и ÑтатичеÑкое "
+"тело. Однако у них еÑÑ‚ÑŒ два оÑновных применениÑ:\n"
+"[b]Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ:[/b] Когда Ñти тела перемещаютÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ, либо из кода, "
+"либо из [AnimationPlayer] (Ñ [member AnimationPlayer.playback_process_mode], "
+"уÑтановленным на \"physics\"), физика автоматичеÑки вычиÑлÑет оценку их "
+"линейной и угловой ÑкороÑти. Это делает их очень полезными Ð´Ð»Ñ Ð´Ð²Ð¸Ð¶ÑƒÑ‰Ð¸Ñ…ÑÑ "
+"платформ или других объектов, управлÑемых AnimationPlayer (например, дверь, "
+"открывающийÑÑ Ð¼Ð¾ÑÑ‚ и Ñ‚.д.).\n"
+"[b]КинематичеÑкие перÑонажи:[/b] KinematicBody также имеет API Ð´Ð»Ñ "
+"Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² (методы [method move_and_collide] и [method "
+"move_and_slide]) при выполнении теÑтов на ÑтолкновениÑ. Это делает их "
+"дейÑтвительно полезными Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ перÑонажей, которые ÑталкиваютÑÑ Ñ "
+"миром, но не требуют продвинутой физики."
#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml
msgid "Kinematic character (2D)"
@@ -34102,6 +34692,21 @@ msgid ""
"while performing collision tests. This makes them really useful to implement "
"characters that collide against a world, but don't require advanced physics."
msgstr ""
+"КинематичеÑкие тела - Ñто оÑобые типы тел, которые предназначены Ð´Ð»Ñ "
+"ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼. Ðа них вообще не влиÑет физика; Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… типов "
+"тел, таких как перÑонаж или жеÑткое тело, Ñто то же Ñамое, что и ÑтатичеÑкое "
+"тело. Однако у них еÑÑ‚ÑŒ два оÑновных применениÑ:\n"
+"[b]Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ:[/b] Когда Ñти тела перемещаютÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ, либо из кода, "
+"либо из [AnimationPlayer] (Ñ [member AnimationPlayer.playback_process_mode], "
+"уÑтановленным на \"physics\"), физика автоматичеÑки вычиÑлÑет оценку их "
+"линейной и угловой ÑкороÑти. Это делает их очень полезными Ð´Ð»Ñ Ð´Ð²Ð¸Ð¶ÑƒÑ‰Ð¸Ñ…ÑÑ "
+"платформ или других объектов, управлÑемых AnimationPlayer (например, дверь, "
+"открывающийÑÑ Ð¼Ð¾ÑÑ‚ и Ñ‚.д.).\n"
+"[b]КинематичеÑкие перÑонажи:[/b] KinematicBody2D также имеет API Ð´Ð»Ñ "
+"Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² (методы [method move_and_collide] и [method "
+"move_and_slide]) при выполнении теÑтов на ÑтолкновениÑ. Это делает их "
+"дейÑтвительно полезными Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ перÑонажей, которые ÑталкиваютÑÑ Ñ "
+"миром, но не требуют продвинутой физики."
#: doc/classes/KinematicBody2D.xml
msgid "Using KinematicBody2D"
@@ -34791,7 +35396,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -38120,6 +38727,7 @@ msgid "3D agent used in navigation for collision avoidance."
msgstr ""
#: doc/classes/NavigationAgent.xml
+#, fuzzy
msgid ""
"3D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -38133,8 +38741,26 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
-msgstr ""
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
+msgstr ""
+"3D-агент, который иÑпользуетÑÑ Ð² навигации Ð´Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¼ÐµÑтоположениÑ, "
+"Ð¸Ð·Ð±ÐµÐ³Ð°Ñ Ð¿Ñ€Ð¸ Ñтом ÑтатичеÑких и динамичеÑких препÑÑ‚Ñтвий. ДинамичеÑкие "
+"препÑÑ‚ÑÑ‚Ð²Ð¸Ñ Ð¸Ð·Ð±ÐµÐ³Ð°ÑŽÑ‚ÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑиÑтемы Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñтолкновений RVO "
+"(Reciprocal Velocity Obstacles). Ð”Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ работы агенту необходимы "
+"навигационные данные. По умолчанию Ñтот узел региÑтрируетÑÑ Ð½Ð° навигационной "
+"карте по умолчанию [Мир]. ЕÑли Ñтот узел ÑвлÑетÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼ узлом "
+"[Navigation], он будет региÑтрироватьÑÑ Ð½Ð° навигационной карте "
+"навигационного узла, или можно иÑпользовать функцию [method set_navigation], "
+"чтобы уÑтановить навигационный узел напрÑмую. [NavigationAgent] ÑвлÑетÑÑ "
+"физичеÑки безопаÑным.\n"
+"[b]Примечание:[/b] ПоÑле иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ [method set_target_location] "
+"необходимо иÑпользовать функцию [method get_next_location] раз в каждый кадр "
+"физики Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ логики пути NavigationAgent. Ð’Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼Ð°Ñ "
+"Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¸Ð· Ñтой функции должна иÑпользоватьÑÑ Ð² качеÑтве Ñледующей "
+"позиции Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑкого узла агента."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -38373,6 +38999,7 @@ msgid "2D agent used in navigation for collision avoidance."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
+#, fuzzy
msgid ""
"2D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -38386,8 +39013,26 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
-msgstr ""
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
+msgstr ""
+"2D агент, который иÑпользуетÑÑ Ð² навигации Ð´Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¼ÐµÑтоположениÑ, "
+"Ð¸Ð·Ð±ÐµÐ³Ð°Ñ Ð¿Ñ€Ð¸ Ñтом ÑтатичеÑких и динамичеÑких препÑÑ‚Ñтвий. ДинамичеÑкие "
+"препÑÑ‚ÑÑ‚Ð²Ð¸Ñ Ð¸Ð·Ð±ÐµÐ³Ð°ÑŽÑ‚ÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑиÑтемы Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñтолкновений RVO "
+"(Reciprocal Velocity Obstacles). Ð”Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ работы агенту необходимы "
+"навигационные данные. По умолчанию Ñтот узел региÑтрируетÑÑ Ð½Ð° навигационной "
+"карте по умолчанию [World2D]. ЕÑли Ñтот узел ÑвлÑетÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼ Ð´Ð»Ñ ÑƒÐ·Ð»Ð° "
+"[Navigation2D], он будет региÑтрироватьÑÑ Ð½Ð° навигационной карте "
+"навигационного узла, или Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ [method set_navigation] может быть "
+"иÑпользована Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾ÑредÑтвенной уÑтановки навигационного узла. "
+"[NavigationAgent2D] ÑвлÑетÑÑ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑки безопаÑным.\n"
+"[b]Примечание:[/b] ПоÑле иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ [method set_target_location] "
+"необходимо иÑпользовать функцию [method get_next_location] один раз в каждый "
+"кадр физики Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ логики пути NavigationAgent. "
+"Ð’Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¸Ð· Ñтой функции должна иÑпользоватьÑÑ Ð² "
+"качеÑтве Ñледующей позиции Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑкого узла агента."
#: doc/classes/NavigationAgent2D.xml
#, fuzzy
@@ -39113,6 +39758,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39478,6 +40126,21 @@ msgid ""
"COMPRESS_NONE]. Nonetheless, mixing engine versions between clients and "
"server is not recommended and not officially supported."
msgstr ""
+"Метод ÑжатиÑ, иÑпользуемый Ð´Ð»Ñ Ñетевых пакетов. Они имеют различные "
+"компромиÑÑÑ‹ между ÑкороÑтью ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð¸ пропуÑкной ÑпоÑобноÑтью, вам может "
+"потребоватьÑÑ Ð¿Ñ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ, какой из них лучше вÑего подходит Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ "
+"ÑлучаÑ, еÑли вы вообще иÑпользуете Ñжатие.\n"
+"[b]Примечание:[/b] Сетевой дизайн большинÑтва игр предполагает чаÑтую "
+"отправку множеÑтва небольших пакетов (размером менее 4 КБ каждый). ЕÑли еÑÑ‚ÑŒ "
+"ÑомнениÑ, рекомендуетÑÑ Ð¾Ñтавить алгоритм ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð¿Ð¾ умолчанию, так как он "
+"лучше вÑего работает Ñ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ маленькими пакетами.\n"
+"[b]Примечание:[/b] [member compression_mode] должен быть уÑтановлен на одно "
+"и то же значение как на Ñервере, так и на вÑех его клиентах. Клиенты не "
+"Ñмогут подключитьÑÑ, еÑли значение [member compression_mode], уÑтановленное "
+"на клиенте, отличаетÑÑ Ð¾Ñ‚ уÑтановленного на Ñервере. До Godot 3.4 по "
+"умолчанию [member compression_mode] был [constant COMPRESS_NONE]. Тем не "
+"менее, Ñмешивать верÑии движка между клиентами и Ñервером не рекомендуетÑÑ Ð¸ "
+"официально не поддерживаетÑÑ."
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -39556,7 +40219,7 @@ msgstr ""
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid "[url=https://facebook.github.io/zstd/]Zstandard[/url] compression."
-msgstr ""
+msgstr "[url=https://facebook.github.io/zstd/]Zstandard[/url] cжатие."
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid "A high-level network interface to simplify multiplayer interactions."
@@ -39966,6 +40629,20 @@ msgid ""
"call with [method request_ready], which may be called anywhere before adding "
"the node again."
msgstr ""
+"ВызываетÑÑ, когда узел \"готов\", Ñ‚.е. когда и узел, и его дочерние Ñлементы "
+"вошли в дерево Ñцены. ЕÑли узел имеет дочерние узлы, то Ñначала Ñрабатывают "
+"их обратные вызовы [метода _ready], а затем родительÑкий узел получает "
+"уведомление о готовноÑти.\n"
+"СоответÑтвует уведомлению [constant NOTIFICATION_READY] в [method Object."
+"_notification]. См. также ключевое Ñлово [code]onready[/code] Ð´Ð»Ñ "
+"переменных.\n"
+"Обычно иÑпользуетÑÑ Ð´Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸. Ð”Ð»Ñ ÐµÑ‰Ðµ более ранней инициализации "
+"можно иÑпользовать [метод Object._init]. См. также [метод _enter_tree].\n"
+"[b]Примечание:[/b] [метод _ready] может быть вызван только один раз Ð´Ð»Ñ "
+"каждого узла. ПоÑле ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑƒÐ·Ð»Ð° из дерева Ñцены и Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ Ñнова, "
+"[code]_ready[/code] не будет вызван второй раз. Это можно обойти, запроÑив "
+"повторный вызов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [метода request_ready], который может быть вызван "
+"в любом меÑте перед повторным добавлением узла."
#: doc/classes/Node.xml
msgid ""
@@ -40095,6 +40772,21 @@ msgid ""
"consider using [method get_node] instead. To avoid using [method find_node] "
"too often, consider caching the node reference into a variable."
msgstr ""
+"Ðаходит потомка Ñтого узла, Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ ÑоответÑтвует [code]маÑке[/code] "
+"как в [методе String.match] (Ñ‚.е. чувÑтвительно к региÑтру, но [code]\"*\"[/"
+"code] ÑоответÑтвует нулю или более Ñимволов, а [code]\"?\"[/code] "
+"ÑоответÑтвует любому одиночному Ñимволу, кроме [code]\".\"[/code]). "
+"Возвращает [code]null[/code], еÑли не найдено ни одного подходÑщего [узла].\n"
+"[b]Примечание:[/b] Ðе ищет ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ полному пути, только по именам "
+"отдельных узлов.\n"
+"ЕÑли [code]owned[/code] is [code]true[/code], Ñтот метод находит только "
+"узлы, владельцем которых ÑвлÑетÑÑ Ñтот узел. Это оÑобенно важно Ð´Ð»Ñ Ñцен, "
+"Ñозданных через Ñценарий, поÑкольку у таких Ñцен нет владельца.\n"
+"[b]Примечание:[/b] ПоÑкольку Ñтот метод проходит по вÑем потомкам узла, Ñто "
+"Ñамый медленный ÑпоÑоб получить ÑÑылку на другой узел. По возможноÑти "
+"иÑпользуйте вмеÑто него [method get_node]. Чтобы не иÑпользовать [метод "
+"find_node] Ñлишком чаÑто, подумайте о кÑшировании ÑÑылки на узел в "
+"переменной."
#: doc/classes/Node.xml
msgid ""
@@ -40535,6 +41227,20 @@ msgid ""
"like [code]server_disconnected[/code] or by checking [code]SceneTree."
"network_peer.get_connection_status() == CONNECTION_CONNECTED[/code]."
msgstr ""
+"ОтправлÑет Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° вызов удаленной процедуры Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ [code]метода[/"
+"code] равным узлам в Ñети (и локально), по желанию отправлÑÑ Ð²Ñе "
+"дополнительные аргументы в качеÑтве аргументов метода, вызываемого RPC. "
+"Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° будет получен только узлами Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ [NodePath], Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ "
+"точно такое же Ð¸Ð¼Ñ ÑƒÐ·Ð»Ð°. Поведение завиÑит от конфигурации RPC Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ "
+"метода, Ñм. [method rpc_config]. По умолчанию методы не открыты Ð´Ð»Ñ RPC. См. "
+"также [method rset] и [method rset_config] Ð´Ð»Ñ ÑвойÑтв. Возвращает "
+"[code]null[/code].\n"
+"[b]Примечание:[/b] Ð’Ñ‹ можете безопаÑно иÑпользовать RPC на клиентах только "
+"поÑле Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñигнала [code]connected_to_server[/code] от [SceneTree]. Вам "
+"также необходимо отÑлеживать ÑоÑтоÑние ÑоединениÑ, либо по Ñигналам "
+"[SceneTree], таким как [code]server_disconnected[/code], либо проверÑÑ "
+"[code]SceneTree.network_peer.get_connection_status() == "
+"CONNECTION_CONNECTED[/code]."
#: doc/classes/Node.xml
msgid ""
@@ -41079,7 +41785,7 @@ msgstr "Глобальный маÑштаб."
#: doc/classes/Node2D.xml
msgid "Global [Transform2D]."
-msgstr ""
+msgstr "Глобальный [Transform2D]."
#: doc/classes/Node2D.xml
msgid "Position, relative to the node's parent."
@@ -41105,7 +41811,7 @@ msgstr ""
#: doc/classes/Node2D.xml
msgid "Local [Transform2D]."
-msgstr ""
+msgstr "Локальный [Transform2D]."
#: doc/classes/Node2D.xml
msgid ""
@@ -42011,7 +42717,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -42427,6 +43135,21 @@ msgid ""
"the project if it is currently running (since the project is an independent "
"child process)."
msgstr ""
+"Задерживает выполнение текущего потока на [code]мÑек[/code] миллиÑекунд. "
+"[code]мÑек[/code] должно быть больше или равно [code]0[/code]. Ð’ противном "
+"Ñлучае [метод delay_msec] ничего не Ñделает и выведет Ñообщение об ошибке.\n"
+"[b]Примечание:[/b] [method delay_msec] - Ñто [i]блокирующий[/i] ÑпоÑоб "
+"задержки Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð°. Чтобы задержать выполнение кода неблокирующим "
+"ÑпоÑобом, Ñмотрите [method SceneTree.create_timer]. Выдача Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [method "
+"SceneTree.create_timer] задержит выполнение кода, размещенного ниже "
+"[code]выдачи[/code] без влиÑÐ½Ð¸Ñ Ð½Ð° оÑтальную чаÑÑ‚ÑŒ проекта (или редактора, "
+"Ð´Ð»Ñ [EditorPlugin]ов и [EditorScript]ов).\n"
+"[b]Примечание:[/b] ЕÑли [метод delay_msec] вызываетÑÑ Ð² главном потоке, он "
+"замораживает проект и не позволÑет ему перериÑовывать и региÑтрировать ввод, "
+"пока не пройдет задержка. При иÑпользовании [method delay_msec] как чаÑти "
+"[EditorPlugin] или [EditorScript], он заморозит редактор, но не заморозит "
+"проект, еÑли он запущен (поÑкольку проект ÑвлÑетÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимым дочерним "
+"процеÑÑом)."
#: doc/classes/OS.xml
msgid ""
@@ -42447,6 +43170,21 @@ msgid ""
"the project if it is currently running (since the project is an independent "
"child process)."
msgstr ""
+"Задерживает выполнение текущего потока на [code]usec[/code] микроÑекунд. "
+"[code]usec[/code] должно быть больше или равно [code]0[/code]. В противном "
+"Ñлучае [метод delay_usec] ничего не Ñделает и выведет Ñообщение об ошибке.\n"
+"[b]Примечание:[/b] [method delay_usec] - Ñто [i]блокирующий[/i] ÑпоÑоб "
+"задержки Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð°. Чтобы задержать выполнение кода неблокирующим "
+"ÑпоÑобом, Ñмотрите [method SceneTree.create_timer]. Выдача Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [method "
+"SceneTree.create_timer] задержит выполнение кода, размещенного ниже "
+"[code]выдачи[/code] без влиÑÐ½Ð¸Ñ Ð½Ð° оÑтальную чаÑÑ‚ÑŒ проекта (или редактора, "
+"Ð´Ð»Ñ [EditorPlugin]ов и [EditorScript]ов).\n"
+"[b]Примечание:[/b] ЕÑли [метод delay_usec] вызываетÑÑ Ð² главном потоке, он "
+"замораживает проект и не позволÑет ему перериÑовывать и региÑтрировать ввод, "
+"пока не пройдет задержка. При иÑпользовании [method delay_usec] как чаÑти "
+"[EditorPlugin] или [EditorScript], он заморозит редактор, но не заморозит "
+"проект, еÑли он запущен (поÑкольку проект ÑвлÑетÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимым дочерним "
+"процеÑÑом)."
#: doc/classes/OS.xml
msgid ""
@@ -42535,11 +43273,11 @@ msgstr "Возвращает вектор привÑзанный к Ñетке Ñ
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42569,15 +43307,38 @@ msgid ""
" arguments[argument.lstrip(\"--\")] = \"\"\n"
"[/codeblock]"
msgstr ""
+"Возвращает аргументы командной Ñтроки, переданные движку.\n"
+"Ðргументы командной Ñтроки могут быть запиÑаны в любой форме, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ "
+"[code]--key value[/code] и [code]--key=value[/code], чтобы они могли быть "
+"правильно разобраны, при уÑловии, что пользовательÑкие аргументы командной "
+"Ñтроки не конфликтуют Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ движка.\n"
+"Ð’Ñ‹ также можете включить переменные окружениÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¼ÐµÑ‚Ð¾Ð´ [method "
+"get_environment].\n"
+"Ð’Ñ‹ можете уÑтановить [member ProjectSettings.editor/main_run_args] Ð´Ð»Ñ "
+"Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² командной Ñтроки, которые будут передаватьÑÑ "
+"редактором при запуÑке проекта.\n"
+"Вот минимальный пример того, как разобрать аргументы командной Ñтроки в "
+"Ñловарь, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñ„Ð¾Ñ€Ð¼Ñƒ [code]--key=value[/code] Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð²:\n"
+"[codeblock].\n"
+"var arguments = {}\n"
+"for argument in OS.get_cmdline_args():\n"
+" if argument.find(\"=\") > -1:\n"
+" var key_value = argument.split(\"=\")\n"
+" arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n"
+" else:\n"
+" # Опции без аргумента будут приÑутÑтвовать в Ñловаре,\n"
+" # Ñо значением, уÑтановленным в пуÑтую Ñтроку.\n"
+" arguments[argument.lstrip(\"--\")] = \"\"\n"
+"[/codeblock]"
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42599,11 +43360,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43769,9 +44530,8 @@ msgid "Ringtones directory path."
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid "Unknown powerstate."
-msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ°."
+msgstr "ÐеизвеÑтное ÑоÑтоÑние питаниÑ."
#: doc/classes/OS.xml
msgid "Unplugged, running on battery."
@@ -44485,6 +45245,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -45200,7 +45970,7 @@ msgstr ""
#: doc/classes/PHashTranslation.xml
msgid "Optimized translation."
-msgstr ""
+msgstr "Оптимизированный перевод."
#: doc/classes/PHashTranslation.xml
msgid ""
@@ -45231,7 +46001,7 @@ msgstr ""
#: doc/classes/PhysicsDirectBodyState.xml
#: doc/classes/PhysicsDirectSpaceState.xml doc/classes/RayCast.xml
msgid "Ray-casting"
-msgstr ""
+msgstr "ТраÑÑировка лучей"
#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml
msgid "Adds a constant directional force without affecting rotation."
@@ -45448,6 +46218,23 @@ msgid ""
"[code]rid[/code]: The intersecting object's [RID].\n"
"[code]shape[/code]: The shape index of the colliding shape."
msgstr ""
+"ПроверÑет переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹, заданной через объект "
+"[Physics2DShapeQueryParameters], Ñ Ð¿Ñ€Ð¾ÑтранÑтвом. ЕÑли она переÑекаетÑÑ Ñ "
+"более чем одной фигурой, выбираетÑÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ°Ñ. ЕÑли фигура ни Ñ Ñ‡ÐµÐ¼ не "
+"переÑекаетÑÑ, то возвращаетÑÑ Ð¿ÑƒÑтой Ñловарь.\n"
+"[b]Примечание:[/b] Этот метод не учитывает ÑвойÑтво [code]движениÑ[/code] "
+"объекта. Возвращаемый объект предÑтавлÑет Ñобой Ñловарь, Ñодержащий "
+"Ñледующие полÑ:\n"
+"[code]collider_id[/code]: ID ÑталкивающегоÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°.\n"
+"[code]linear_velocity[/code]: СкороÑÑ‚ÑŒ объекта ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ [Vector2]. ЕÑли "
+"объект ÑвлÑетÑÑ [Area2D], то результатом будет [code](0, 0)[/code].\n"
+"[code]метаданные[/code]: Метаданные переÑекающейÑÑ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹. Эти метаданные "
+"отличаютÑÑ Ð¾Ñ‚ [метод Object.get_meta], и уÑтанавливаютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [метод "
+"Physics2DServer.shape_set_data].\n"
+"[code]normal[/code]: Ðормаль поверхноÑти объекта в точке переÑечениÑ.\n"
+"[code]точка[/code]: Точка переÑечениÑ.\n"
+"[code]rid[/code]: [RID] переÑекающегоÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°.\n"
+"[code]shape[/code]: Ð˜Ð½Ð´ÐµÐºÑ Ñ„Ð¾Ñ€Ð¼Ñ‹ ÑталкивающейÑÑ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹."
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -45472,6 +46259,26 @@ msgid ""
"[code]Segments[/code] build mode are not solid shapes. Therefore, they will "
"not be detected."
msgstr ""
+"ПроверÑет, находитÑÑ Ð»Ð¸ точка внутри какой-либо твердой фигуры. Фигуры, "
+"внутри которых находитÑÑ Ñ‚Ð¾Ñ‡ÐºÐ°, возвращаютÑÑ Ð² виде маÑÑива, Ñодержащего "
+"Ñловари Ñо Ñледующими полÑми:\n"
+"[code]collider[/code]: Объект ÑтолкновениÑ.\n"
+"[code]collider_id[/code]: ID объекта ÑтолкновениÑ.\n"
+"[code]metadata[/code]: Метаданные переÑекающейÑÑ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹. Эти метаданные "
+"отличаютÑÑ Ð¾Ñ‚ [метод Object.get_meta], и уÑтанавливаютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [метод "
+"Physics2DServer.shape_set_data].\n"
+"[code]rid[/code]: [RID] переÑекающегоÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°.\n"
+"[code]shape[/code]: Ð˜Ð½Ð´ÐµÐºÑ Ñ„Ð¾Ñ€Ð¼Ñ‹ ÑталкивающейÑÑ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹.\n"
+"КоличеÑтво переÑечений может быть ограничено Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметра "
+"[code]max_results[/code], чтобы уменьшить Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸.\n"
+"Кроме того, метод может принимать [code]exclude[/code] маÑÑив объектов или "
+"[RID]ов, которые должны быть иÑключены из Ñтолкновений, "
+"[code]collision_mask[/code] битовую маÑку, предÑтавлÑющую физичеÑкие Ñлои "
+"Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸, или булевы Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, должен ли луч ÑтолкнутьÑÑ Ñ "
+"[PhysicsBody2D]s или [Area2D]s, ÑоответÑтвенно.\n"
+"[b]Примечание:[/b] [ConcavePolygonShape2D]s и [CollisionPolygon2D]s в режиме "
+"поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ [code]Segments[/code] не ÑвлÑÑŽÑ‚ÑÑ Ñ‚Ð²ÐµÑ€Ð´Ñ‹Ð¼Ð¸ фигурами. ПоÑтому они "
+"не будут обнаружены."
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -45518,6 +46325,24 @@ msgid ""
"determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, "
"respectively."
msgstr ""
+"ПереÑекает луч в заданном проÑтранÑтве. Возвращаемый объект предÑтавлÑет "
+"Ñобой Ñловарь Ñо Ñледующими полÑми:\n"
+"[code]collider[/code]: Объект ÑтолкновениÑ.\n"
+"[code]collider_id[/code]: Идентификатор объекта ÑтолкновениÑ.\n"
+"[code]metadata[/code]: Метаданные переÑекающейÑÑ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹. Эти метаданные "
+"отличаютÑÑ Ð¾Ñ‚ [метод Object.get_meta], и уÑтанавливаютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [метод "
+"Physics2DServer.shape_set_data].\n"
+"[code]normal[/code]: Ðормаль поверхноÑти объекта в точке переÑечениÑ.\n"
+"[code]position[/code]: Точка переÑечениÑ.\n"
+"[code]rid[/code]: [RID] переÑекающегоÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°.\n"
+"[code]shape[/code]: Ð˜Ð½Ð´ÐµÐºÑ Ñ„Ð¾Ñ€Ð¼Ñ‹ переÑекающегоÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°.\n"
+"ЕÑли луч ни Ñ Ñ‡ÐµÐ¼ не переÑекаетÑÑ, то вмеÑто него возвращаетÑÑ Ð¿ÑƒÑтой "
+"Ñловарь.\n"
+"Кроме того, метод может принимать [code]exclude[/code] маÑÑив объектов или "
+"[RID], которые должны быть иÑключены из Ñтолкновений, [code]collision_mask[/"
+"code] битовую маÑку, предÑтавлÑющую физичеÑкие Ñлои Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸, или булевы "
+"Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, должен ли луч ÑтолкнутьÑÑ Ñ [PhysicsBody2D]s или "
+"[Area2D]s, ÑоответÑтвенно."
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -47624,6 +48449,22 @@ msgid ""
"will allow for unbounded output. If any positive value is passed, and the "
"decompression exceeds that amount in bytes, then an error will be returned."
msgstr ""
+"Возвращает новый [PoolByteArray] Ñ Ñ€Ð°Ñпакованными данными. УÑтановите режим "
+"ÑжатиÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ð´Ð½Ñƒ из конÑтант [enum File.CompressionMode]. [b]Этот "
+"метод принимает только режимы ÑÐ¶Ð°Ñ‚Ð¸Ñ gzip и deflate.[/b]\n"
+"Этот метод потенциально медленнее, чем [code]decompress[/code], так как ему "
+"может потребоватьÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑ€Ð°Ñ‚Ð½Ð¾Ðµ перераÑпределение выходного буфера во Ð²Ñ€ÐµÐ¼Ñ "
+"декомпреÑÑии, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº [code]decompress[/code] знает размер Ñвоего "
+"выходного буфера Ñ Ñамого начала.\n"
+"\n"
+"GZIP имеет макÑимальный коÑффициент ÑÐ¶Ð°Ñ‚Ð¸Ñ 1032:1, что означает, что очень "
+"возможно, что Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ ÑÐ¶Ð°Ñ‚Ð°Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° раÑпакуетÑÑ Ð² потенциально "
+"очень большой выходной файл. Чтобы защититьÑÑ Ð¾Ñ‚ Ñтого, вы можете указать "
+"макÑимальный размер, который Ñтой функции разрешено выделÑÑ‚ÑŒ в байтах через "
+"[code]max_output_size[/code]. ЕÑли передать значение -1, то можно выводить "
+"неограниченное количеÑтво данных. ЕÑли передано любое положительное "
+"значение, и раÑпаковка превышает Ñтот размер в байтах, то будет возвращена "
+"ошибка."
#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
@@ -48695,6 +49536,19 @@ msgid ""
"There is no need to place an opposite portal in an adjacent room, links are "
"made two-way automatically."
msgstr ""
+"[Порталы - Ñто оÑобый тип [MeshInstance], который позволÑет ÑиÑтеме отбора "
+"порталов \"видеть\" из одной комнаты в другую. Они чаÑто ÑоответÑтвуют "
+"дверÑм и окнам в геометрии уровнÑ. ПозволÑÑ [Camera]s видеть только через "
+"порталы, Ñто позволÑет ÑиÑтеме отÑеивать вÑе объекты в комнатах, которые не "
+"видны через порталы. Это одна из форм окклюзионной выборки [b][/b] , ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ "
+"может значительно повыÑить производительноÑÑ‚ÑŒ.\n"
+"СущеÑтвуют некоторые Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° форму порталов:\n"
+"Они должны быть одноÑторонними выпуклыми многоугольниками, и обычно вы "
+"должны ориентировать их передние грани [b]наружу[/b] от [Комнаты], в которой "
+"они раÑположены. Вершины должны раÑполагатьÑÑ Ð² одной плоÑкоÑти (Ñ…Ð¾Ñ‚Ñ Ð¸Ñ… "
+"раÑположение не обÑзательно должно быть идеальным).\n"
+"Ðет необходимоÑти размещать противоположный портал в ÑоÑедней комнате, ÑвÑзи "
+"делаютÑÑ Ð´Ð²ÑƒÑторонними автоматичеÑки."
#: doc/classes/Portal.xml doc/classes/Room.xml
msgid "Sets individual points. Primarily for use by the editor."
@@ -49349,6 +50203,21 @@ msgid ""
"([code]stderr[/code]) is always flushed when a line is printed to it.\n"
"Changes to this setting will only be applied upon restarting the application."
msgstr ""
+"ЕÑли [code]true[/code], то поток Ñтандартного вывода очищаетÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ раз, "
+"когда печатаетÑÑ Ñтрока. Это влиÑет как на ведение журналов в терминале, так "
+"и на ведение журналов в файлах.\n"
+"При запуÑке проекта Ñтот параметр должен быть включен, еÑли вы хотите, чтобы "
+"журналы ÑобиралиÑÑŒ менеджерами Ñлужб, такими как systemd/journalctl. Эта "
+"наÑтройка отключена по умолчанию в Ñборках релизов, поÑкольку промывка "
+"каждой напечатанной Ñтроки негативно ÑкажетÑÑ Ð½Ð° производительноÑти, еÑли "
+"много Ñтрок печатаетÑÑ Ð² быÑтрой поÑледовательноÑти. Кроме того, еÑли Ñта "
+"наÑтройка включена, файлы журналов будут уÑпешно запиÑаны, еÑли приложение "
+"аварийно завершено или иным образом убито пользователем (не будучи закрытым "
+"\"нормально\").\n"
+"[b]Примечание:[/b] ÐезавиÑимо от Ñтой наÑтройки, Ñтандартный поток ошибок "
+"([code]stderr[/code]) вÑегда промываетÑÑ, когда в него печатаетÑÑ Ñтрока.\n"
+"Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñтой наÑтройке будут применены только поÑле перезапуÑка "
+"приложениÑ."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -51471,6 +52340,23 @@ msgid ""
"[b]Note:[/b] This property is only read when the project starts. To change "
"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
+"УправлÑет тем, наÑколько тики физики Ñинхронизированы Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¼ временем. "
+"При значении 0 или меньше тики ÑинхронизируютÑÑ. Такие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "
+"рекомендуютÑÑ Ð´Ð»Ñ Ñетевых игр, где ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‡Ð°Ñов имеет значение. "
+"Большие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ð¾Ð´ÑÑ‚ к большему отклонению внутриигровых чаÑов от "
+"реальных, но позволÑÑŽÑ‚ Ñгладить дрожание кадров. Значение по умолчанию 0,5 "
+"должно уÑтраивать большинÑтво; Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹ÑˆÐµ 2 могут привеÑти к тому, что "
+"игра будет реагировать на выпадение кадров Ñ Ð·Ð°Ð¼ÐµÑ‚Ð½Ð¾Ð¹ задержкой, поÑтому не "
+"рекомендуетÑÑ.\n"
+"[b]Примечание:[/b] Ð”Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð¸Ð»ÑƒÑ‡ÑˆÐ¸Ñ… результатов при иÑпользовании "
+"пользовательÑкого Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»Ñции физики, иÑправление джиттера физики "
+"Ñледует отключить, уÑтановив [member physics/common/physics_jitter_fix] на "
+"[code]0[/code].\n"
+"[b]Примечание:[/b] ФикÑÐ°Ñ†Ð¸Ñ Ð´Ð¶Ð¸Ñ‚Ñ‚ÐµÑ€Ð° автоматичеÑки отключаетÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ "
+"выполнениÑ, еÑли включен [member physics/common/physics_interpolation].\n"
+"[b]Примечание:[/b] Это ÑвойÑтво ÑчитываетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при запуÑке проекта. "
+"Чтобы изменить значение во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ, уÑтановите [member Engine."
+"physics_jitter_fix] вмеÑто Ñтого."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -52110,6 +52996,23 @@ msgid ""
"[b]Note:[/b] This property is only read when the project starts. There is "
"currently no way to change this setting at run-time."
msgstr ""
+"МакÑимальный уровень анизотропного фильтра, иÑпользуемый Ð´Ð»Ñ Ñ‚ÐµÐºÑтур Ñ "
+"включенной анизотропией. Более выÑокие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ð¾Ð´ÑÑ‚ к более четким "
+"текÑтурам при проÑмотре под коÑыми углами, но за Ñчет ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ "
+"производительноÑти. За иÑключением [code]1[/code], допуÑтимы только "
+"значениÑ, равные двум целым ([code]2[/code], [code]4[/code], [code]8[/code], "
+"[code]16[/code]). Значение [code]1[/code] принудительно отключает "
+"анизотропную фильтрацию, даже на тех текÑтурах, где она включена.\n"
+"[b]Примечание:[/b] По причинам производительноÑти Ð°Ð½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ "
+"[i]не включена по умолчанию[/i] на текÑтурах. Чтобы Ñта наÑтройка имела "
+"Ñффект, анизотропную фильтрацию текÑтуры можно включить, выбрав текÑтуру в "
+"доке FileSystem, Ð¿ÐµÑ€ÐµÐ¹Ð´Ñ Ð² док Import, уÑтановив флажок [b]Anisotropic[/b] и "
+"нажав [b]Reimport[/b]. Однако Ð°Ð½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ´ÐºÐ¾ бывает полезной "
+"в 2D, поÑтому включайте ее Ð´Ð»Ñ Ñ‚ÐµÐºÑтур в 2D, только еÑли Ñто дает значимую "
+"визуальную разницу.\n"
+"[b]Примечание:[/b] Это ÑвойÑтво ÑчитываетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при запуÑке проекта. Ð’ "
+"наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ ÑущеÑтвует ÑпоÑоба изменить Ñтот параметр во Ð²Ñ€ÐµÐ¼Ñ "
+"Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -52131,15 +53034,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52709,7 +53619,7 @@ msgstr ""
#: doc/classes/Quat.xml
msgid "Quaternion."
-msgstr ""
+msgstr "Кватернион."
#: doc/classes/Quat.xml
msgid ""
@@ -52992,6 +53902,24 @@ msgid ""
"state], and not the initial seed value, which is going to be fixed in Godot "
"4.0."
msgstr ""
+"Инициализирует ÑоÑтоÑние генератора Ñлучайных чиÑел на оÑнове заданного "
+"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ seed. Заданное значение Ñемени дает воÑпроизводимую "
+"поÑледовательноÑÑ‚ÑŒ пÑевдоÑлучайных чиÑел.\n"
+"[b]Примечание:[/b] RNG не обладает лавинным Ñффектом и может выдавать "
+"похожие Ñлучайные потоки при одинаковых Ñеменах. РаÑÑмотрите возможноÑÑ‚ÑŒ "
+"иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ…Ñш-функции Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ ÐºÐ°Ñ‡ÐµÑтва ÑемÑн, еÑли они получены "
+"извне.\n"
+"[b]Примечание:[/b] УÑтановка Ñтого ÑвойÑтва приводит к побочному Ñффекту "
+"Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ [member state], поÑтому убедитеÑÑŒ, что ÑÐµÐ¼Ñ "
+"инициализировано [i], прежде чем[/i] изменÑÑ‚ÑŒ [member state]:\n"
+"[блок кода]\n"
+"var rng = RandomNumberGenerator.new()\n"
+"rng.seed = hash(\"Godot\")\n"
+"rng.state = 100 # ВоÑÑтановление к некоторому ранее Ñохраненному ÑоÑтоÑнию.\n"
+"[/codeblock].\n"
+"[b]Предупреждение:[/b] геттер Ñтого ÑвойÑтва возвращает предыдущее ÑоÑтоÑние "
+"[member state], а не начальное значение seed, что будет иÑправлено в Godot "
+"4.0."
#: doc/classes/RandomNumberGenerator.xml
msgid ""
@@ -53131,6 +54059,20 @@ msgid ""
"queries are required between physics frames (or during the same frame), use "
"[method force_raycast_update] after adjusting the raycast."
msgstr ""
+"RayCast предÑтавлÑет Ñобой линию от начала координат до меÑта назначениÑ, "
+"[code]cast_to[/code]. Он иÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа трехмерного проÑтранÑтва, "
+"чтобы найти ближайший объект на пути луча.\n"
+"RayCast может игнорировать некоторые объекты, добавлÑÑ Ð¸Ñ… в ÑпиÑок "
+"иÑключений через [code]add_exception[/code] или уÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ‰ÑƒÑŽ "
+"фильтрацию Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлоев Ñтолкновений и маÑок.\n"
+"RayCast может быть наÑтроен на Ñообщение о ÑтолкновениÑÑ… Ñ [Area]s ([member "
+"collide_with_areas]) и/или [PhysicsBody]s ([member collide_with_bodies]).\n"
+"Только включенные лучевые передачи Ñмогут запрашивать проÑтранÑтво и "
+"Ñообщать о ÑтолкновениÑÑ….\n"
+"RayCast вычиÑлÑет переÑечение каждый кадр физики (Ñм. [Node]), и результат "
+"кÑшируетÑÑ, чтобы его можно было иÑпользовать позже, до Ñледующего кадра. "
+"ЕÑли требуетÑÑ Ð½ÐµÑколько запроÑов между кадрами физики (или в течение одного "
+"кадра), иÑпользуйте [метод force_raycast_update] поÑле наÑтройки Ñ€ÑйкаÑта."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
@@ -53281,6 +54223,22 @@ msgid ""
"queries are required between physics frames (or during the same frame) use "
"[method force_raycast_update] after adjusting the raycast."
msgstr ""
+"RayCast предÑтавлÑет Ñобой линию от начала координат до меÑта назначениÑ, "
+"[code]cast_to[/code]. Он иÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа двумерного проÑтранÑтва Ñ "
+"целью найти ближайший объект на пути луча.\n"
+"RayCast2D может игнорировать некоторые объекты, добавлÑÑ Ð¸Ñ… в ÑпиÑок "
+"иÑключений через [code]add_exception[/code], уÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½ÑƒÑŽ "
+"фильтрацию Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлоев Ñтолкновений или Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ÑƒÑ Ñ‚Ð¸Ð¿Ñ‹ объектов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "
+"маÑок типов.\n"
+"RayCast2D может быть наÑтроен на Ñообщение о ÑтолкновениÑÑ… Ñ [Area2D]s "
+"([member collide_with_areas]) и/или [PhysicsBody2D]s ([member "
+"collide_with_bodies]).\n"
+"Только включенные лучевые передачи Ñмогут запрашивать проÑтранÑтво и "
+"Ñообщать о ÑтолкновениÑÑ….\n"
+"RayCast2D вычиÑлÑет переÑечение каждый кадр физики (Ñм. [Node]), и результат "
+"кÑшируетÑÑ, чтобы его можно было иÑпользовать позже, до Ñледующего кадра. "
+"ЕÑли требуетÑÑ Ð½ÐµÑколько запроÑов между кадрами физики (или в течение одного "
+"кадра), иÑпользуйте [метод force_raycast_update] поÑле наÑтройки Ñ€ÑйкаÑта."
#: doc/classes/RayCast2D.xml
msgid ""
@@ -53487,6 +54445,21 @@ msgid ""
"free references that are no longer in use. This means that unused references "
"will linger on for a while before being removed."
msgstr ""
+"Базовый клаÑÑ Ð´Ð»Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ объекта, который ведет подÑчет ÑÑылок. [Resource] и "
+"многие другие вÑпомогательные объекты наÑледуют Ñтот клаÑÑ.\n"
+"Ð’ отличие от других типов [Object], ÑÑылки ведут внутренний Ñчетчик ÑÑылок, "
+"поÑтому они автоматичеÑки оÑвобождаютÑÑ, когда больше не иÑпользуютÑÑ, и "
+"только тогда. ПоÑтому ÑÑылки не нужно оÑвобождать вручную Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [метода "
+"Object.free].\n"
+"Ð’ подавлÑющем большинÑтве Ñлучаев инÑтанцирование и иÑпользование "
+"[Reference]-производных типов - Ñто вÑе, что вам нужно Ñделать. Методы, "
+"предоÑтавлÑемые в Ñтом клаÑÑе, предназначены только Ð´Ð»Ñ Ð¾Ð¿Ñ‹Ñ‚Ð½Ñ‹Ñ… "
+"пользователей и могут вызвать проблемы при неправильном иÑпользовании.\n"
+"[b]Примечание:[/b] Ð’ C# ÑÑылки не оÑвобождаютÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ поÑле того, как "
+"они переÑтают иÑпользоватьÑÑ. ВмеÑто Ñтого Ñборка муÑора будет выполнÑÑ‚ÑŒÑÑ "
+"периодичеÑки и оÑвобождать ÑÑылки, которые больше не иÑпользуютÑÑ. Это "
+"означает, что неиÑпользуемые ÑÑылки будут ÑущеÑтвовать некоторое времÑ, "
+"прежде чем будут удалены."
#: doc/classes/Reference.xml
msgid ""
@@ -53789,17 +54762,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -53808,8 +54792,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -53962,10 +54952,24 @@ msgid ""
"free resources that are no longer in use. This means that unused resources "
"will linger on for a while before being removed."
msgstr ""
+"Resource - Ñто базовый клаÑÑ Ð´Ð»Ñ Ð²Ñех ÑпецифичеÑких Ð´Ð»Ñ Godot типов "
+"реÑурÑов, Ñлужащих в оÑновном в качеÑтве контейнеров данных. ПоÑкольку они "
+"наÑледуютÑÑ Ð¾Ñ‚ [Reference], реÑурÑÑ‹ учитываютÑÑ Ð¿Ð¾ ÑÑылкам и оÑвобождаютÑÑ, "
+"когда больше не иÑпользуютÑÑ. Они также кÑшируютÑÑ Ð¿Ð¾Ñле загрузки Ñ Ð´Ð¸Ñка, "
+"так что вÑе поÑледующие попытки загрузить реÑÑƒÑ€Ñ Ð¿Ð¾ заданному пути будут "
+"возвращать ту же ÑÑылку (в отличие от [Node], который не учитываетÑÑ Ð¿Ð¾ "
+"ÑÑылкам и может инÑтанцироватьÑÑ Ñ Ð´Ð¸Ñка Ñколько угодно раз). РеÑурÑÑ‹ могут "
+"быть Ñохранены на внешнем диÑке или вложены в другой объект, например, "
+"[Node] или другой реÑурÑ.\n"
+"[b]Примечание:[/b] Ð’ C# реÑурÑÑ‹ не будут оÑвобождатьÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ поÑле того, "
+"как они переÑтанут иÑпользоватьÑÑ. ВмеÑто Ñтого Ñборка муÑора будет "
+"выполнÑÑ‚ÑŒÑÑ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡ÐµÑки и оÑвобождать реÑурÑÑ‹, которые больше не "
+"иÑпользуютÑÑ. Это означает, что неиÑпользуемые реÑурÑÑ‹ будут ÑущеÑтвовать "
+"некоторое времÑ, прежде чем будут удалены."
#: doc/classes/Resource.xml
msgid "Resources"
-msgstr ""
+msgstr "РеÑурÑÑ‹"
#: doc/classes/Resource.xml
msgid ""
@@ -54322,6 +55326,24 @@ msgid ""
"be used in most situations, leaving the use of [ResourceLoader] for more "
"advanced scenarios."
msgstr ""
+"Загружает реÑÑƒÑ€Ñ Ð¿Ð¾ заданному [code]пути[/code] , кÑÑˆÐ¸Ñ€ÑƒÑ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚ Ð´Ð»Ñ "
+"поÑледующего доÑтупа.\n"
+"ЗарегиÑтрированные [ResourceFormatLoader]Ñ‹ поÑледовательно запрашиваютÑÑ, "
+"чтобы найти первый, который может обрабатывать раÑширение файла, и затем "
+"выполнÑетÑÑ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° загрузки. ЕÑли загрузка не удалаÑÑŒ, оÑтальные "
+"ResourceFormatLoader'ы также будут опрошены.\n"
+"ÐеобÑзательный [code]type_hint[/code] может быть иÑпользован Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ³Ð¾ "
+"ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° [Resource], который должен обрабатыватьÑÑ "
+"[ResourceFormatLoader]. Ð’ качеÑтве подÑказки типа можно иÑпользовать вÑе, "
+"что наÑледуетÑÑ Ð¾Ñ‚ [Resource], например [Image].\n"
+"ЕÑли [code]no_cache[/code] is [code]true[/code], кÑш реÑурÑа будет обойден и "
+"реÑÑƒÑ€Ñ Ð±ÑƒÐ´ÐµÑ‚ загружен заново. Ð’ противном Ñлучае будет возвращен "
+"кÑшированный реÑурÑ, еÑли он ÑущеÑтвует.\n"
+"Возвращает пуÑтой реÑурÑ, еÑли ни один [ResourceFormatLoader] не Ñмог "
+"обработать файл.\n"
+"GDScript имеет упрощенный вÑтроенный метод [method @GDScript.load], который "
+"можно иÑпользовать в большинÑтве Ñитуаций, оÑтавлÑÑ Ð¸Ñпользование "
+"[ResourceLoader] Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ Ñложных Ñценариев."
#: doc/classes/ResourceLoader.xml
msgid ""
@@ -55237,6 +56259,26 @@ msgid ""
"[ConcavePolygonShape]. Don't use multiple [CollisionShape]s when using a "
"[ConcavePolygonShape] with Bullet physics if you need shape indices."
msgstr ""
+"ВыдаетÑÑ Ð¿Ñ€Ð¸ Ñтолкновении одного из [Shape] Ñтого RigidBody Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ "
+"[PhysicsBody] или [GridMap] [Shape]. ТребуетÑÑ, чтобы [member "
+"contact_monitor] был уÑтановлен в [code]true[/code] и [member "
+"contacts_reported] был уÑтановлен доÑтаточно выÑоким, чтобы обнаружить вÑе "
+"ÑтолкновениÑ. [GridMap]Ñ‹ обнаруживаютÑÑ, еÑли в [MeshLibrary] еÑÑ‚ÑŒ [Shape]Ñ‹ "
+"Ñтолкновений.\n"
+"[code]body_rid[/code] [RID] другого [PhysicsBody] или [MeshLibrary] "
+"[CollisionObject], иÑпользуемого [PhysicsServer].\n"
+"[code]body[/code] [Узел], еÑли он ÑущеÑтвует в дереве, другого [PhysicsBody] "
+"или [GridMap].\n"
+"[code]body_shape_index[/code] Ð¸Ð½Ð´ÐµÐºÑ [Shape] другого [PhysicsBody] или "
+"[GridMap], иÑпользуемого [PhysicsServer]. Получите узел [CollisionShape] Ñ "
+"помощью [code]body.shape_owner_get_owner(body_shape_index)[/code].\n"
+"[code]local_shape_index[/code] Ð¸Ð½Ð´ÐµÐºÑ [Shape] Ñтого RigidBody, иÑпользуемый "
+"[PhysicsServer]. Получите узел [CollisionShape] Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [code]self."
+"shape_owner_get_owner(local_shape_index)[/code].\n"
+"[b]Примечание:[/b] Физика пули не может определить Ð¸Ð½Ð´ÐµÐºÑ Ñ„Ð¾Ñ€Ð¼Ñ‹ при "
+"иÑпользовании [ConcavePolygonShape]. Ðе иÑпользуйте неÑколько "
+"[CollisionShape] при иÑпользовании [ConcavePolygonShape] Ñ Ñ„Ð¸Ð·Ð¸ÐºÐ¾Ð¹ Bullet, "
+"еÑли вам нужны индекÑÑ‹ формы."
#: doc/classes/RigidBody.xml
msgid ""
@@ -55849,6 +56891,19 @@ msgid ""
"your room and object sizes, and movement speeds. The default value should "
"work reasonably in most circumstances."
msgstr ""
+"Чтобы уменьшить обработку данных Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ñ… объектов, к их AABB "
+"применÑетÑÑ Ñ€Ð°Ñширение по мере их перемещениÑ. Этот раÑширенный объем "
+"иÑпользуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ñчета комнат, в которых находитÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°ÐµÐ¼Ñ‹Ð¹ объект. "
+"ЕÑли точный AABB объекта вÑе еще находитÑÑ Ð² пределах Ñтого раÑширенного "
+"объема при Ñледующем перемещении, нет необходимоÑти повторно обрабатывать "
+"объект, что может ÑÑкономить значительное количеÑтво CPU.\n"
+"ÐедоÑтатком ÑвлÑетÑÑ Ñ‚Ð¾, что еÑли раÑширение Ñлишком велико, объект может "
+"неожиданно раÑпроÑтранитьÑÑ Ð² ÑоÑедние комнаты и поÑвитьÑÑ Ñ‚Ð°Ð¼, где в "
+"противном Ñлучае он мог бы быть удален.\n"
+"Чтобы ÑбаланÑировать производительноÑÑ‚ÑŒ роуминга и точноÑÑ‚ÑŒ выбраковки, Ñтот "
+"Ð·Ð°Ð¿Ð°Ñ Ñ€Ð°ÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть наÑтроен пользователем. Обычно он завиÑит от "
+"размеров комнат и объектов, а также от ÑкороÑти передвижениÑ. Значение по "
+"умолчанию должно работать разумно в большинÑтве Ñлучаев."
#: doc/classes/RoomManager.xml
msgid ""
@@ -55928,6 +56983,19 @@ msgid ""
"[code]extends RootMotionView[/code]. Additionally, it must not be a "
"[code]tool[/code] script."
msgstr ""
+"[i]Корневое движение[/i] отноÑитÑÑ Ðº технике анимации, когда Ñкелет Ñетки "
+"иÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑа перÑонажу. При работе Ñ 3D-анимацией "
+"популÑрной техникой ÑвлÑетÑÑ Ð¸Ñпользование аниматорами корневой коÑти "
+"Ñкелета Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñтальным чаÑÑ‚Ñм Ñкелета. Это позволÑет "
+"анимировать перÑонажей таким образом, что шаги фактичеÑки ÑоответÑтвуют полу "
+"под ними. Это также позволÑет точно взаимодейÑтвовать Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ во Ð²Ñ€ÐµÐ¼Ñ "
+"кинематографа. См. также [AnimationTree].\n"
+"[b]Примечание:[/b] [RootMotionView] виден только в редакторе. Он будет "
+"автоматичеÑки Ñкрыт в работающем проекте, а также будет преобразован в "
+"обычный [Node] в работающем проекте. Это означает, что Ñкрипт, прикрепленный "
+"к узлу [RootMotionView] [i]должен[/i] иметь [code]extends Node[/code] вмеÑто "
+"[code]extends RootMotionView[/code]. Кроме того, он не должен быть Ñкриптом "
+"[code]инÑтрумента[/code]."
#: doc/classes/RootMotionView.xml
msgid "Using AnimationTree - Root motion"
@@ -56530,12 +57598,16 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
msgid "No stretching."
-msgstr ""
+msgstr "Ðе раÑÑ‚Ñгивать."
#: doc/classes/SceneTree.xml
msgid "Render stretching in higher resolution (interpolated)."
@@ -56579,7 +57651,7 @@ msgstr ""
#: doc/classes/SceneTreeTimer.xml
msgid "One-shot timer."
-msgstr ""
+msgstr "Таймер на один Ñнимок."
#: doc/classes/SceneTreeTimer.xml
msgid ""
@@ -56769,6 +57841,23 @@ msgid ""
"will always return the final value, regardless of [code]elapsed_time[/code] "
"provided."
msgstr ""
+"Этот метод можно иÑпользовать Ð´Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð¹ интерполÑции значениÑ, когда вы не "
+"хотите, чтобы [SceneTreeTween] выполнÑл анимацию за ваÑ. Он похож на [method "
+"@GDScript.lerp], но Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ пользовательÑкого перехода и ÑмÑгчениÑ.\n"
+"[code]initial_value[/code] - начальное значение интерполÑции.\n"
+"[code]delta_value[/code] - Ñто изменение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² интерполÑции, Ñ‚.е. оно "
+"равно [code]final_value - initial_value[/code].\n"
+"[code]elapsed_time[/code] - Ñто Ð²Ñ€ÐµÐ¼Ñ Ð² Ñекундах, прошедшее поÑле начала "
+"интерполÑции, которое иÑпользуетÑÑ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»Ñции. "
+"Ðапример, еÑли оно равно половине длительноÑти [code][/code] , "
+"интерполированное значение будет находитьÑÑ Ð½Ð° полпути между начальным и "
+"конечным значениÑми. Это значение также может быть больше, чем "
+"[code]duration[/code] или меньше, чем 0, что приведет к ÑкÑтраполÑции "
+"значениÑ.\n"
+"[code]duration[/code] - общее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»Ñции.\n"
+"[b]Примечание:[/b] ЕÑли [code]duration[/code] равно [code]0[/code], метод "
+"вÑегда будет возвращать конечное значение, незавиÑимо от [code]elapsed_time[/"
+"code] предоÑтавленного значениÑ."
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -57543,6 +58632,22 @@ msgid ""
"([code]shape_xform[/code]), and the movement to test onto the other object "
"([code]shape_motion[/code])."
msgstr ""
+"Возвращает ÑпиÑок пар точек ÑоприкоÑновениÑ, где Ð´Ð°Ð½Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð° могла бы "
+"коÑнутьÑÑ Ð´Ñ€ÑƒÐ³Ð¾Ð¹, еÑли бы было применено заданное движение.\n"
+"ЕÑли Ñтолкновений не будет, возвращаемый ÑпиÑок пуÑÑ‚. Ð’ противном Ñлучае, "
+"возвращаемый ÑпиÑок Ñодержит попарно раÑположенные точки контакта, в которых "
+"чередуютÑÑ Ñ‚Ð¾Ñ‡ÐºÐ¸ на границе данной фигуры и точки на границе "
+"[code]with_shape[/code].\n"
+"Пара Ñтолкновений A, B может быть иÑпользована Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ Ð½Ð¾Ñ€Ð¼Ð°Ð»Ð¸ "
+"ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [code](B - A).normalized()[/code], и глубины "
+"ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [code](B - A).length()[/code]. Эта Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ "
+"иÑпользуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð¸Ð³ÑƒÑ€, оÑобенно в решателÑÑ… Ñтолкновений.\n"
+"Этому методу нужна матрица транÑформации Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ фигуры "
+"([code]local_xform[/code]), движение Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ Ñтой фигуры "
+"([code]local_motion[/code]), фигура Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ Ñтолкновений Ñ Ð½ÐµÐ¹ "
+"([code]with_shape[/code]), матрица транÑформации Ñтой фигуры "
+"([code]shape_xform[/code]) и движение Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ на другом объекте "
+"([code]shape_motion[/code])."
#: doc/classes/Shape2D.xml
msgid ""
@@ -57614,7 +58719,7 @@ msgstr ""
#: doc/classes/Skeleton.xml
msgid "[i]Deprecated soon.[/i]"
-msgstr ""
+msgstr "[i]Скоро будет уÑтаревшим.[/i]"
#: doc/classes/Skeleton.xml
msgid "Clear all the bones in this skeleton."
@@ -58374,7 +59479,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -59756,7 +60863,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -59772,7 +60882,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -60780,6 +61892,21 @@ msgid ""
"To get a boolean result from a string comparison, use the [code]==[/code] "
"operator instead. See also [method nocasecmp_to]."
msgstr ""
+"ВыполнÑет Ñравнение Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñтрокой Ñ ÑƒÑ‡ÐµÑ‚Ð¾Ð¼ региÑтра. Возвращает [code]-1[/"
+"code], еÑли меньше, [code]1[/code], еÑли больше, или [code]0[/code], еÑли "
+"равно. \"Меньше\" или \"больше\" определÑÑŽÑ‚ÑÑ [url=https://en.wikipedia.org/"
+"wiki/List_of_Unicode_characters]кодовыми точками Unicode[/url] каждой "
+"Ñтроки, что примерно ÑоответÑтвует алфавитному порÑдку.\n"
+"[b]Поведение при различной длине Ñтроки:[/b] Возвращает [code]1[/code], еÑли "
+"\"базоваÑ\" Ñтрока длиннее Ñтрок [code]-[/code] или [code]-1[/code], еÑли "
+"\"базоваÑ\" Ñтрока короче Ñтрок [code]-[/code]. Следует помнить, что длина "
+"определÑетÑÑ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом кодовых точек Юникода, [i]а не[/i] реально видимых "
+"Ñимволов.\n"
+"[b]Поведение Ñ Ð¿ÑƒÑтыми Ñтроками:[/b] Возвращает [code]-1[/code], еÑли "
+"\"базоваÑ\" Ñтрока пуÑта, [code]1[/code], еÑли Ñтроки [code]-[/code] пуÑÑ‚Ñ‹, "
+"или [code]0[/code], еÑли обе Ñтроки пуÑÑ‚Ñ‹.\n"
+"Чтобы получить булев результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñтрок, иÑпользуйте вмеÑто Ñтого "
+"оператор [code]==[/code]. См. также [метод nocasecmp_to]."
#: doc/classes/String.xml
msgid ""
@@ -61184,6 +62311,22 @@ msgid ""
"To get a boolean result from a string comparison, use the [code]==[/code] "
"operator instead. See also [method casecmp_to]."
msgstr ""
+"ВыполнÑет Ñравнение Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñтрокой без учета региÑтра. Возвращает "
+"[code]-1[/code], еÑли меньше, [code]1[/code], еÑли больше, или [code]0[/"
+"code], еÑли равно. \"Меньше\" или \"больше\" определÑетÑÑ [url=https://en."
+"wikipedia.org/wiki/List_of_Unicode_characters]кодовыми точками Unicode[/url] "
+"каждой Ñтроки, что примерно ÑоответÑтвует алфавитному порÑдку. При Ñравнении "
+"Ñимволы нижнего региÑтра преобразуютÑÑ Ð² верхний региÑÑ‚Ñ€.\n"
+"[b]Поведение при различной длине Ñтроки:[/b] Возвращает [code]1[/code], еÑли "
+"\"базоваÑ\" Ñтрока длиннее, чем Ñтроки [code]-[/code] или [code]-1[/code], "
+"еÑли \"базоваÑ\" Ñтрока короче, чем Ñтроки [code]-[/code]. Следует помнить, "
+"что длина определÑетÑÑ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом кодовых точек Юникода, [i]а не[/i] "
+"реально видимых Ñимволов.\n"
+"[b]Поведение Ñ Ð¿ÑƒÑтыми Ñтроками:[/b] Возвращает [code]-1[/code], еÑли "
+"\"базоваÑ\" Ñтрока пуÑта, [code]1[/code], еÑли Ñтроки [code]-[/code] пуÑÑ‚Ñ‹, "
+"или [code]0[/code], еÑли обе Ñтроки пуÑÑ‚Ñ‹.\n"
+"Чтобы получить булев результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñтрок, иÑпользуйте вмеÑто Ñтого "
+"оператор [code]==[/code]. См. также [метод casecmp_to]."
#: doc/classes/String.xml
msgid "Returns the character code at position [code]at[/code]."
@@ -61273,6 +62416,24 @@ msgid ""
"print(some_array[1]) # Prints \"Four\"\n"
"[/codeblock]"
msgstr ""
+"РазделÑет Ñтроку по [code]разделителю[/code] и возвращает маÑÑив подÑтрок, "
+"Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñправа.\n"
+"Разделители в возвращаемом маÑÑиве ÑортируютÑÑ Ð² том же порÑдке, что и "
+"иÑÑ…Ð¾Ð´Ð½Ð°Ñ Ñтрока, Ñлева направо.\n"
+"ЕÑли [code]allow_empty[/code] равен [code]true[/code], и в Ñтроке еÑÑ‚ÑŒ два "
+"ÑоÑедних разделителÑ, то в маÑÑив подÑтрок в Ñтой позиции будет добавлена "
+"пуÑÑ‚Ð°Ñ Ñтрока.\n"
+"ЕÑли указано [code]maxsplit[/code], то Ñто определÑет количеÑтво разбиений "
+"Ñправа до [code]maxsplit[/code]. Значение по умолчанию 0 означает, что вÑе "
+"Ñлементы разделÑÑŽÑ‚ÑÑ, что дает тот же результат, что и [method split].\n"
+"Пример:\n"
+"[codeblock].\n"
+"var some_string = \"One,Two,Three,Four\"\n"
+"var some_array = some_string.rsplit(\",\", true, 1)\n"
+"print(some_array.size()) # Печатает 2\n"
+"print(some_array[0]) # Печатает \"Один, два, три\"\n"
+"print(some_array[1]) # Печатает \"Four\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -61341,6 +62502,26 @@ msgid ""
"If you need to split strings with more complex rules, use the [RegEx] class "
"instead."
msgstr ""
+"РазделÑет Ñтроку по разделителю [code][/code] и возвращает маÑÑив подÑтрок. "
+"Разделитель [code][/code] может быть любой длины.\n"
+"ЕÑли [code]allow_empty[/code] равно [code]true[/code], и в Ñтроке еÑÑ‚ÑŒ два "
+"ÑоÑедних разделителÑ, то в маÑÑив подÑтрок в Ñтой позиции будет добавлена "
+"пуÑÑ‚Ð°Ñ Ñтрока.\n"
+"ЕÑли указано [code]maxsplit[/code], то Ñто определÑет количеÑтво разбиений "
+"Ñлева до [code]maxsplit[/code]. Значение по умолчанию [code]0[/code] "
+"означает, что вÑе Ñлементы разделÑÑŽÑ‚ÑÑ.\n"
+"ЕÑли вам нужен только один Ñлемент из маÑÑива по определенному индекÑу, "
+"[метод get_slice] ÑвлÑетÑÑ Ð±Ð¾Ð»ÐµÐµ производительным вариантом.\n"
+"Пример:\n"
+"[codeblock].\n"
+"var some_string = \"One,Two,Three,Four\"\n"
+"var some_array = some_string.split(\",\", true, 1)\n"
+"print(some_array.size()) # Печатает 2\n"
+"print(some_array[0]) # Печатает \"Один\"\n"
+"print(some_array[1]) # Печатает \"Два, три, четыре\"\n"
+"[/codeblock].\n"
+"ЕÑли вам нужно разделить Ñтроки по более Ñложным правилам, иÑпользуйте клаÑÑ "
+"[RegEx]."
#: doc/classes/String.xml
msgid ""
@@ -62210,7 +63391,7 @@ msgstr ""
#: doc/classes/TabContainer.xml
msgid "Tabbed container."
-msgstr ""
+msgstr "Контейнер Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸."
#: doc/classes/TabContainer.xml
msgid ""
@@ -62464,7 +63645,7 @@ msgstr ""
#: doc/classes/Tabs.xml
msgid "Tabs control."
-msgstr ""
+msgstr "Управление вкладками."
#: doc/classes/Tabs.xml
msgid ""
@@ -62671,7 +63852,7 @@ msgstr ""
#: doc/classes/TCP_Server.xml
msgid "Stops listening."
-msgstr ""
+msgstr "ПереÑтает Ñлушать."
#: doc/classes/TCP_Server.xml
msgid ""
@@ -65704,7 +66885,7 @@ msgstr ""
#: doc/classes/TouchScreenButton.xml
msgid "Always visible."
-msgstr ""
+msgstr "Ð’Ñегда видно."
#: doc/classes/TouchScreenButton.xml
msgid "Visible on touch screens only."
@@ -65972,7 +67153,7 @@ msgstr ""
#: doc/classes/Translation.xml
msgid "Language Translation."
-msgstr ""
+msgstr "Языковой перевод."
#: doc/classes/Translation.xml
msgid ""
@@ -67797,7 +68978,7 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid "Inconsistent parameters."
-msgstr ""
+msgstr "ÐеÑоответÑтвующие параметры."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
@@ -67859,39 +69040,39 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid gateway."
-msgstr ""
+msgstr "Ðеверный шлюз."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid port."
-msgstr ""
+msgstr "Ðеверный порт."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid protocol."
-msgstr ""
+msgstr "Ðеверный протокол."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid duration."
-msgstr ""
+msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid arguments."
-msgstr ""
+msgstr "ÐедопуÑтимые аргументы."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid response."
-msgstr ""
+msgstr "Ðеверный ответ."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid parameter."
-msgstr ""
+msgstr "ÐедопуÑтимый параметр."
#: modules/upnp/doc_classes/UPNP.xml modules/upnp/doc_classes/UPNPDevice.xml
msgid "HTTP error."
-msgstr ""
+msgstr "Ошибка HTTP."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Socket error."
-msgstr ""
+msgstr "Ошибка Ñокета."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Error allocating memory."
@@ -67974,11 +69155,11 @@ msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Service type."
-msgstr ""
+msgstr "Тип уÑлуг."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "OK."
-msgstr ""
+msgstr "OK."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Empty HTTP response."
@@ -67994,15 +69175,15 @@ msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Disconnected."
-msgstr ""
+msgstr "Отключен."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Unknown device."
-msgstr ""
+msgstr "ÐеизвеÑтное уÑтройÑтво."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Invalid control."
-msgstr ""
+msgstr "Ðеверный контроль."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Memory allocation error."
@@ -69302,10 +70483,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -69316,8 +70502,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69472,7 +70658,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -70008,6 +71196,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
@@ -71197,11 +72401,11 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Unity: [code]1[/code]."
-msgstr ""
+msgstr "ЕдинÑтво: [code]1[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Pi: [code]3.141593[/code]."
-msgstr ""
+msgstr "Пи: [code]3.141593[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Pi divided by two: [code]1.570796[/code]."
@@ -71209,7 +72413,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Tau: [code]6.283185[/code]."
-msgstr ""
+msgstr "Тау: [code]6.283185[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid ""
@@ -71223,7 +72427,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Infinity: [code]inf[/code]."
-msgstr ""
+msgstr "БеÑконечноÑÑ‚ÑŒ: [code]inf[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Not a number: [code]nan[/code]."
@@ -71525,7 +72729,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml
msgid "Node reference."
-msgstr ""
+msgstr "СÑылка на узел."
#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml
msgid ""
@@ -71686,7 +72890,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptWhile.xml
msgid "Conditional loop."
-msgstr ""
+msgstr "УÑловный цикл."
#: modules/visual_script/doc_classes/VisualScriptWhile.xml
msgid ""
@@ -72329,7 +73533,7 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "Synchronizes threads."
-msgstr ""
+msgstr "Синхронизирует потоки."
#: doc/classes/VisualServer.xml
msgid "Tries to free an object in the VisualServer."
@@ -73807,6 +75011,24 @@ msgid ""
"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
+"Копирует видовой Ñкран в облаÑÑ‚ÑŒ Ñкрана, указанную [code]rect[/code]. ЕÑли "
+"[член Viewport.render_direct_to_screen] равен [code]true[/code], то вьюпорт "
+"не иÑпользует фреймбуфер и Ñодержимое вьюпорта выводитÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно на "
+"Ñкран. Однако обратите внимание, что корневой видовой Ñкран риÑуетÑÑ "
+"поÑледним, поÑтому он будет риÑоватьÑÑ Ð¿Ð¾Ð²ÐµÑ€Ñ… Ñкрана. СоответÑтвенно, вы "
+"должны уÑтановить корневой видовой Ñкран на облаÑÑ‚ÑŒ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ покрывает "
+"облаÑÑ‚ÑŒ, к которой вы прикрепили Ñтот видовой Ñкран.\n"
+"Ðапример, вы можете уÑтановить корневой видовой Ñкран так, чтобы он вообще "
+"не отриÑовывалÑÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñледующий код:\n"
+"[codeblock].\n"
+"func _ready():\n"
+" get_viewport().set_attach_to_screen_rect(Rect2())\n"
+" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n"
+"[/codeblock].\n"
+"ИÑпользование Ñтого метода может привеÑти к значительной оптимизации, "
+"оÑобенно на уÑтройÑтвах низкого клаÑÑа. Однако за Ñто приходитÑÑ "
+"раÑплачиватьÑÑ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾Ñтью управлÑÑ‚ÑŒ видовыми Ñкранами вручную. Ð”Ð»Ñ "
+"дальнейшей оптимизации Ñмотрите [метод viewport_set_render_direct_to_screen]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -73914,6 +75136,19 @@ msgid ""
"will be drawn, no automatic scaling is possible, even if your game scene is "
"significantly larger than the window size."
msgstr ""
+"ЕÑли [code]true[/code], выведите Ñодержимое видового Ñкрана непоÑредÑтвенно "
+"на Ñкран. Это позволÑет выполнить низкоуровневую оптимизацию, при которой "
+"можно пропуÑтить отриÑовку видового Ñкрана в корневой видовой Ñкран. Ð¥Ð¾Ñ‚Ñ "
+"Ñта Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ привеÑти к значительному увеличению ÑкороÑти (оÑобенно "
+"на Ñтарых уÑтройÑтвах), она обходитÑÑ Ð½ÐµÐ´ÐµÑˆÐµÐ²Ð¾. Когда Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, "
+"вы не можете читать из облаÑти проÑмотра или из [code]SCREEN_TEXTURE[/code]. "
+"Ð’Ñ‹ также терÑете преимущеÑтва некоторых наÑтроек окна, таких как различные "
+"режимы раÑÑ‚ÑжениÑ. Еще одно поÑледÑтвие, о котором Ñледует знать, Ñто то, "
+"что в 2D рендеринг проиÑходит в координатах окна, поÑтому еÑли у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ "
+"облаÑÑ‚ÑŒ проÑмотра, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð² два раза больше окна, и вы уÑтановите Ñто, то "
+"будет отриÑована только та чаÑÑ‚ÑŒ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð¼ÐµÑ‰Ð°ÐµÑ‚ÑÑ Ð² окно, автоматичеÑкое "
+"маÑштабирование невозможно, даже еÑли ваша Ð¸Ð³Ñ€Ð¾Ð²Ð°Ñ Ñцена значительно больше, "
+"чем размер окна."
#: doc/classes/VisualServer.xml
msgid ""
@@ -76384,7 +77619,7 @@ msgstr "Возвращает значение, противоположное п
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Returns [code]1/vector[/code]."
-msgstr ""
+msgstr "Возвращает [code]1/вектор[/code]."
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Converts RGB vector to HSV equivalent."
@@ -76719,7 +77954,7 @@ msgstr ""
#: doc/classes/VSlider.xml
msgid "Vertical slider."
-msgstr ""
+msgstr "Вертикальный Ñлайдер."
#: doc/classes/VSlider.xml
msgid ""
diff --git a/doc/translations/sk.po b/doc/translations/sk.po
index e5562df057..3a58e3f2a9 100644
--- a/doc/translations/sk.po
+++ b/doc/translations/sk.po
@@ -476,7 +476,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -491,7 +492,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -864,12 +869,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3480,6 +3489,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4164,8 +4193,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7082,7 +7110,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7267,6 +7298,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7286,9 +7320,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9926,10 +9964,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10461,14 +10498,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10478,22 +10515,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19273,6 +19310,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22105,7 +22150,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32820,7 +32868,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36118,7 +36168,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36366,7 +36419,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37076,6 +37132,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39882,7 +39941,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40393,11 +40454,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40431,11 +40492,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40457,11 +40518,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42308,6 +42369,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49900,15 +49971,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51504,17 +51582,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51523,8 +51612,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54239,7 +54334,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56076,7 +56175,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57454,7 +57555,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57470,7 +57574,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66707,10 +66813,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66721,8 +66832,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66874,7 +66985,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67406,6 +67519,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po
index e202b72696..2846de07bb 100644
--- a/doc/translations/sr_Cyrl.po
+++ b/doc/translations/sr_Cyrl.po
@@ -487,7 +487,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -502,7 +503,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -875,12 +880,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3491,6 +3500,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4175,8 +4204,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7093,7 +7121,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7278,6 +7309,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7297,9 +7331,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9937,10 +9975,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10472,14 +10509,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10489,22 +10526,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19284,6 +19321,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22116,7 +22161,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32831,7 +32879,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36129,7 +36179,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36377,7 +36430,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37087,6 +37143,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39893,7 +39952,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40404,11 +40465,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40442,11 +40503,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40468,11 +40529,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42319,6 +42380,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49911,15 +49982,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51515,17 +51593,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51534,8 +51623,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54250,7 +54345,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56087,7 +56186,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57465,7 +57566,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57481,7 +57585,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66718,10 +66824,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66732,8 +66843,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66885,7 +66996,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67417,6 +67530,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/sv.po b/doc/translations/sv.po
index 1bd56a7518..65cad9bf8a 100644
--- a/doc/translations/sv.po
+++ b/doc/translations/sv.po
@@ -477,7 +477,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -492,7 +493,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -865,12 +870,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3481,6 +3490,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4165,8 +4194,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7083,7 +7111,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7268,6 +7299,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7287,9 +7321,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9927,10 +9965,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10462,14 +10499,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10479,22 +10516,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19274,6 +19311,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22106,7 +22151,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32818,7 +32866,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36116,7 +36166,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36364,7 +36417,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37074,6 +37130,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39880,7 +39939,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40391,11 +40452,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40429,11 +40490,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40455,11 +40516,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42306,6 +42367,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -49898,15 +49969,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51502,17 +51580,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51521,8 +51610,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54237,7 +54332,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56074,7 +56173,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57452,7 +57553,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57468,7 +57572,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66705,10 +66811,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66719,8 +66830,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -66872,7 +66983,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67404,6 +67517,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/th.po b/doc/translations/th.po
index 6253763623..54fbdbfe27 100644
--- a/doc/translations/th.po
+++ b/doc/translations/th.po
@@ -554,7 +554,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -569,7 +570,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -949,12 +954,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3574,6 +3583,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4265,8 +4294,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7187,7 +7215,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7372,6 +7403,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7391,9 +7425,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10032,10 +10070,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10567,14 +10604,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10584,22 +10621,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19383,6 +19420,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22215,7 +22260,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32990,7 +33038,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36306,7 +36356,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36555,7 +36608,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37266,6 +37322,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40125,7 +40184,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40638,11 +40699,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40676,11 +40737,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40702,11 +40763,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42556,6 +42617,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50159,15 +50230,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51765,17 +51843,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51784,8 +51873,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54501,7 +54596,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56338,7 +56437,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57716,7 +57817,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57732,7 +57836,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66999,10 +67105,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67013,8 +67124,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67166,7 +67277,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67698,6 +67811,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/tl.po b/doc/translations/tl.po
index 0dae96a014..a9b6a9e2a9 100644
--- a/doc/translations/tl.po
+++ b/doc/translations/tl.po
@@ -548,7 +548,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -563,7 +564,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -940,12 +945,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3556,6 +3565,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4240,8 +4269,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7158,7 +7186,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7343,6 +7374,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7362,9 +7396,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10006,10 +10044,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10541,14 +10578,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10558,22 +10595,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19356,6 +19393,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22191,7 +22236,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32915,7 +32963,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36231,7 +36281,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36479,7 +36532,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37189,6 +37245,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39995,7 +40054,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40506,11 +40567,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40544,11 +40605,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40570,11 +40631,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42424,6 +42485,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50016,15 +50087,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51620,17 +51698,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51639,8 +51728,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54355,7 +54450,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56192,7 +56291,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57570,7 +57671,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57586,7 +57690,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66859,10 +66965,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -66873,8 +66984,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67026,7 +67137,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67558,6 +67671,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/tr.po b/doc/translations/tr.po
index 4e6f4096d5..5d8f2afe29 100644
--- a/doc/translations/tr.po
+++ b/doc/translations/tr.po
@@ -701,8 +701,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -717,7 +719,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"işlev yığınını temsil eden sözlük dizisi döndürür.\n"
"[codeblock]\n"
@@ -1338,19 +1344,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Kod içindeki istiflenme konumunu yazdırır ve yanlızca hata ayıklayıcı "
-"(debugger) açıkken çalışır.\n"
-"Konsoldaki çıktı aşağıdaki gibi bir şey olacaktır.\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4262,6 +4266,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4946,8 +4970,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7866,7 +7889,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -8051,6 +8077,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -8070,9 +8099,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10711,10 +10744,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -11246,14 +11278,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -11263,22 +11295,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -20083,6 +20115,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22920,7 +22960,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33670,7 +33713,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -37004,7 +37049,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -37254,7 +37302,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37975,6 +38026,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40785,7 +40839,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -41301,11 +41357,11 @@ msgstr "Verilen bir değerin ark-sinüsünü döndürür."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41339,11 +41395,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41365,11 +41421,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43240,6 +43296,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50843,15 +50909,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52455,17 +52528,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52474,8 +52558,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -55191,7 +55281,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57028,7 +57122,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58408,7 +58504,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58424,7 +58523,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67701,10 +67802,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67715,8 +67821,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67872,7 +67978,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68404,6 +68512,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/uk.po b/doc/translations/uk.po
index 613cc32ed3..3714c11d88 100644
--- a/doc/translations/uk.po
+++ b/doc/translations/uk.po
@@ -15,12 +15,13 @@
# Гліб Соколов <ramithes@i.ua>, 2022.
# Yan Chen <cyan97087@gmail.com>, 2022.
# Богдан Матвіїв <bomtvv@gmail.com>, 2022.
+# Лев ДворÑкий <ne3r0n@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-23 03:39+0000\n"
-"Last-Translator: Богдан Матвіїв <bomtvv@gmail.com>\n"
+"PO-Revision-Date: 2022-11-25 12:13+0000\n"
+"Last-Translator: Лев ДворÑкий <ne3r0n@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/uk/>\n"
"Language: uk\n"
@@ -29,7 +30,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -85,7 +86,6 @@ msgid "Inherited By:"
msgstr "УÑпадковано:"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "(overrides %s)"
msgstr "(перевизначає %s)"
@@ -94,17 +94,14 @@ msgid "Default"
msgstr "Типовий"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Setter"
msgstr "Ð’Ñтановлювач"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "value"
msgstr "значеннÑ"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Getter"
msgstr "Отримувач"
@@ -609,7 +606,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -624,7 +622,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1001,12 +1003,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3624,6 +3630,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4308,8 +4334,7 @@ msgstr "ÐÐ½Ñ–Ð¼Ð°Ñ†Ñ–Ñ 2D Ñпрайтів"
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7234,7 +7259,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7419,6 +7447,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7438,9 +7469,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10079,10 +10114,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10614,14 +10648,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10631,22 +10665,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19445,6 +19479,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22279,7 +22321,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33015,7 +33060,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36345,7 +36392,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36595,7 +36645,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37312,6 +37365,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40122,7 +40178,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40638,11 +40696,11 @@ msgstr "Повертає кут до заданого вектора у раді
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40676,11 +40734,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40702,11 +40760,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42571,6 +42629,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50172,15 +50240,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51777,17 +51852,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51796,8 +51882,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54513,7 +54605,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56351,7 +56447,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57729,7 +57827,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57745,7 +57846,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67031,10 +67134,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67045,8 +67153,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67198,7 +67306,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67730,6 +67840,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/vi.po b/doc/translations/vi.po
index 3e74e52436..962440bfab 100644
--- a/doc/translations/vi.po
+++ b/doc/translations/vi.po
@@ -689,8 +689,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -705,7 +707,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Trả vỠmột mảng từ điển đại diện cho chồng đệ quy hiện tại.\n"
"[codeblock]\n"
@@ -1219,12 +1225,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3908,6 +3918,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4601,8 +4631,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7539,7 +7568,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7724,6 +7756,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7743,9 +7778,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10384,10 +10423,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10919,14 +10957,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10936,22 +10974,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19754,6 +19792,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22589,7 +22635,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -33325,7 +33374,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36655,7 +36706,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36906,7 +36960,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37626,6 +37683,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40436,7 +40496,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40952,11 +41014,11 @@ msgstr "Trả vỠsin nghịch đảo của tham số."
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40990,11 +41052,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -41016,11 +41078,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42888,6 +42950,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50497,15 +50569,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52107,17 +52186,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -52126,8 +52216,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54843,7 +54939,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56682,7 +56782,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -58062,7 +58164,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -58078,7 +58183,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -67357,10 +67464,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67371,8 +67483,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67527,7 +67639,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -68063,6 +68177,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index cf0267429a..966ec9b0f9 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -59,11 +59,12 @@
# ErrorDreemurr <diandaokui@qq.com>, 2021.
# 烧风 <hk-shao@foxmail.com>, 2022.
# Yan Chen <cyan97087@gmail.com>, 2022.
+# Caten <catenhu@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-26 05:24+0000\n"
+"PO-Revision-Date: 2022-12-12 06:48+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hans/>\n"
@@ -72,7 +73,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 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -685,7 +686,8 @@ msgid ""
" 1.5 0.0 0.0\n"
"[/codeblock]"
msgstr ""
-"返回 [code]a/b[/code] 的浮点模数,对正负数进行一致的循环。\n"
+",对正负数进行一致的循环返回 [code]a/b[/code] 的浮点模数,对正负数进行一致的"
+"循环。\n"
"[codeblock]\n"
"for i in 7:\n"
" var x = 0.5 * i - 1.5\n"
@@ -696,10 +698,10 @@ msgstr ""
"-1.5 -0.0 0.0\n"
"-1.0 -1.0 0.5\n"
"-0.5 -0.5 1.0\n"
-" 0.0 0.0 0.0\n"
-" 0.5 0.5 0.5\n"
-" 1.0 1.0 1.0\n"
-" 1.5 0.0 0.0\n"
+" 0.0 0.0 0.0\n"
+" 0.5 0.5 0.5\n"
+" 1.0 1.0 1.0\n"
+" 1.5 0.0 0.0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -717,8 +719,8 @@ msgid ""
"[/codeblock]"
msgstr ""
"返回对 [code]instance[/code] 节点中指定函数 [code]funcname[/code] 的引用。由"
-"于函数在GDScript中ä¸æ˜¯ä¸€çº§å¯¹è±¡ï¼Œå› æ­¤è¯·ä½¿ç”¨ [code]funcref[/code] å°† [FuncRef] "
-"存储在å˜é‡ä¸­ï¼Œç„¶åŽå†è°ƒç”¨å®ƒã€‚\n"
+"于函数在 GDScript 中ä¸æ˜¯ä¸€çº§å¯¹è±¡ï¼Œå› æ­¤è¯·ä½¿ç”¨ [code]funcref[/code] å°† "
+"[FuncRef] 存储在å˜é‡ä¸­ï¼Œç„¶åŽå†è¿›è¡Œè°ƒç”¨ã€‚\n"
"[codeblock]\n"
"func foo():\n"
" return(\"bar\")\n"
@@ -728,8 +730,10 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -744,7 +748,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"返回一个表示当å‰è°ƒç”¨å †æ ˆçš„字典数组。\n"
"[codeblock]\n"
@@ -1262,10 +1270,10 @@ msgstr ""
"-3 0 0\n"
"-2 -2 1\n"
"-1 -1 2\n"
-" 0 0 0\n"
-" 1 1 1\n"
-" 2 2 2\n"
-" 3 0 0\n"
+" 0 0 0\n"
+" 1 1 1\n"
+" 2 2 2\n"
+" 3 0 0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1348,18 +1356,17 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"在代ç ä½ç½®æ‰“å°å †æ ˆè½¨è¿¹ï¼Œä»…在打开调试器的情况下è¿è¡Œã€‚\n"
-"控制å°ä¸­çš„输出如下所示:\n"
-"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4382,6 +4389,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr "æ示一个图片使用了无æŸåŽ‹ç¼©è¿›è¡ŒåŽ‹ç¼©ã€‚"
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr "将属性åºåˆ—化并ä¿å­˜åˆ°åœºæ™¯æ–‡ä»¶ä¸­ï¼ˆé»˜è®¤ï¼‰ã€‚"
@@ -4979,8 +5006,8 @@ msgstr ""
"confirmed] ä¿¡å·æ—¶æ‰§è¡Œç±»ä¼¼è¾“入验è¯çš„æ“作,则å¯ä»¥å°†å…¶è®¾ç½®ä¸º [code]false[/"
"code],然åŽåœ¨è‡ªå·±çš„逻辑中处ç†å¯¹è¯æ¡†çš„éšè—。\n"
"[b]注æ„:[/b]从此类派生的æŸäº›èŠ‚点å¯ä»¥å…·æœ‰ä¸åŒçš„默认值,并且å¯èƒ½æœ‰è‡ªå·±çš„内置逻"
-"辑会覆盖此设置。例如,[FileDialog] 默认其为 [code]false[/code],并在按下确定"
-"时实现了自己的输入验è¯ä»£ç ï¼Œå¦‚果输入有效,最终将éšè—对è¯æ¡†ã€‚因此,ä¸èƒ½åœ¨ "
+"辑会覆盖此设置。例如 [FileDialog] 默认其为 [code]false[/code],并在按下确定时"
+"实现了自己的输入验è¯ä»£ç ï¼Œå¦‚果输入有效,最终将éšè—对è¯æ¡†ã€‚因此,ä¸èƒ½åœ¨ "
"[FileDialog] 中使用此属性æ¥ç¦æ­¢åœ¨æŒ‰ç¡®å®šæ—¶éšè—对è¯æ¡†ã€‚"
#: doc/classes/AcceptDialog.xml
@@ -5169,8 +5196,7 @@ msgstr "2D ç²¾çµåŠ¨ç”»"
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr "2D Dodge The Creeps 演示"
@@ -5577,16 +5603,16 @@ msgid ""
"Returns the in handle of the key identified by [code]key_idx[/code]. The "
"[code]track_idx[/code] must be the index of a Bezier Track."
msgstr ""
-"返回由 [code]key_idx[/code] 识别的键的输入å¥æŸ„,[code]track_idx[/code] 必须是"
-"è´å¡žå°”轨é“的索引。"
+"返回由 [code]key_idx[/code] 识别的键的入点手柄,[code]track_idx[/code] 必须是"
+"è´èµ›å°”曲线轨é“的索引。"
#: doc/classes/Animation.xml
msgid ""
"Returns the out handle of the key identified by [code]key_idx[/code]. The "
"[code]track_idx[/code] must be the index of a Bezier Track."
msgstr ""
-"返回由 [code]key_idx[/code] 识别的键的输出å¥æŸ„,[code]track_idx[/code] 必须是"
-"è´å¡žå°”轨é“的索引。"
+"返回由 [code]key_idx[/code] 识别的键的出点手柄,[code]track_idx[/code] 必须是"
+"è´èµ›å°”曲线轨é“的索引。"
#: doc/classes/Animation.xml
msgid ""
@@ -7910,6 +7936,12 @@ msgid ""
"[b]Warning:[/b] See [ConcavePolygonShape] (also called \"trimesh\") for a "
"warning about possibly unexpected behavior when using that shape for an area."
msgstr ""
+"3D 区域å¯ä»¥æ£€æµ‹åˆ° [CollisionObject] 节点间的é‡å ã€è¿›å…¥åŠé€€å‡ºã€‚也å¯ä»¥ä¿®æ”¹æˆ–覆"
+"盖局部的物ç†å‚数(é‡åŠ›ã€é˜»å°¼ï¼‰ã€å°†éŸ³é¢‘导æµè‡³è‡ªå®šä¹‰çš„音频总线。\n"
+"è¦ä¸ºåŒºåŸŸè®¾ç½®å½¢çŠ¶ï¼Œè¯·å°†ä¸€ä¸ª [CollisionShape] 或 [CollisionPolygon] 节点添加为"
+"该区域的[i]直接[/i]å­èŠ‚点(或者添加多个这ç§èŠ‚点作为直接å­èŠ‚点)。\n"
+"[b]警告:[/b]使用凹多边形(也å«â€œä¸‰è§’形网格â€ï¼‰ä½œä¸ºåŒºåŸŸçš„形状时,å¯èƒ½äº§ç”Ÿå‡ºä¹Žé¢„"
+"æ–™çš„è¡Œä¸ºï¼Œè§ [ConcavePolygonShape]。"
#: doc/classes/Area.xml doc/classes/QuadMesh.xml doc/classes/Viewport.xml
#: doc/classes/ViewportTexture.xml
@@ -7999,8 +8031,8 @@ msgid ""
"multiplies the gravity vector. This is useful to alter the force of gravity "
"without altering its direction."
msgstr ""
-"该区域内的é‡åŠ›å¼ºåº¦ï¼ˆå•ä½ï¼šm/s^2)。这个值是é‡åŠ›å‘é‡çš„å€æ•°ã€‚这个é‡åœ¨æ”¹å˜å¼•åŠ›å¤§"
-"å°è€Œä¸æ”¹å˜å…¶æ–¹å‘很有用。"
+"该区域内的é‡åŠ›å¼ºåº¦ï¼ˆå•ä½ä¸ºç±³æ¯ç§’的平方)。这个值是é‡åŠ›å‘é‡çš„å€æ•°ã€‚这个é‡åœ¨æ”¹"
+"å˜å¼•åŠ›å¤§å°è€Œä¸æ”¹å˜å…¶æ–¹å‘很有用。"
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid ""
@@ -8233,6 +8265,12 @@ msgid ""
"[b]Warning:[/b] See [ConcavePolygonShape2D] for a warning about possibly "
"unexpected behavior when using that shape for an area."
msgstr ""
+"2D 区域å¯ä»¥æ£€æµ‹åˆ° [CollisionObject2D] 节点间的é‡å ã€è¿›å…¥åŠé€€å‡ºã€‚也å¯ä»¥ä¿®æ”¹æˆ–"
+"覆盖局部的物ç†å‚数(é‡åŠ›ã€é˜»å°¼ï¼‰ã€å°†éŸ³é¢‘导æµè‡³è‡ªå®šä¹‰çš„音频总线。\n"
+"è¦ä¸ºåŒºåŸŸè®¾ç½®å½¢çŠ¶ï¼Œè¯·å°†ä¸€ä¸ª [CollisionShape2D] 或 [CollisionPolygon2D] 节点添"
+"加为该区域的[i]直接[/i]å­èŠ‚点(或者添加多个这ç§èŠ‚点作为直接å­èŠ‚点)。\n"
+"[b]警告:[/b]使用凹多边形(也å«â€œä¸‰è§’形网格â€ï¼‰ä½œä¸ºåŒºåŸŸçš„形状时,å¯èƒ½äº§ç”Ÿå‡ºä¹Žé¢„"
+"æ–™çš„è¡Œä¸ºï¼Œè§ [ConcavePolygonShape2D]。"
#: doc/classes/Area2D.xml
msgid "Using Area2D"
@@ -8323,7 +8361,7 @@ msgid ""
"multiplies the gravity vector. This is useful to alter the force of gravity "
"without altering its direction."
msgstr ""
-"该区域的é‡åŠ›å¼ºåº¦ï¼ˆä»¥åƒç´ /秒的平方为å•ä½ï¼‰ã€‚这个值是é‡åŠ›å‘é‡çš„å€æ•°ã€‚这对改å˜å¼•"
+"该区域的é‡åŠ›å¼ºåº¦ï¼ˆå•ä½ä¸ºåƒç´ æ¯ç§’的平方)。这个值是é‡åŠ›å‘é‡çš„å€æ•°ã€‚这对改å˜å¼•"
"力大å°è€Œä¸æ”¹å˜å…¶æ–¹å‘很有用。"
#: doc/classes/Area2D.xml
@@ -8770,6 +8808,7 @@ msgstr ""
"较慢。这是因为所有放置在删除元素之åŽçš„元素都必须é‡æ–°ç´¢å¼•ã€‚"
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Assigns the given value to all elements in the array. This can typically be "
"used together with [method resize] to create an array with a given size and "
@@ -8778,7 +8817,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
"将该数组中的所有元素都设置为给定的值。通常与 [method resize] 一起使用,用于创"
"建给定大å°æ•°ç»„并对其元素进行åˆå§‹åŒ–:\n"
@@ -9034,8 +9076,12 @@ msgstr ""
"索引之间的å˜åŒ–。"
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -9055,6 +9101,7 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array using a custom method. The arguments are an object that "
"holds the method and the name of such method. The custom method receives two "
@@ -9063,9 +9110,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9161,7 +9212,6 @@ msgstr ""
"加曲é¢ä¹‹å‰è°ƒç”¨ã€‚"
#: doc/classes/ArrayMesh.xml
-#, fuzzy
msgid ""
"Creates a new surface.\n"
"Surfaces are created to be rendered using a [code]primitive[/code], which "
@@ -9195,7 +9245,14 @@ msgstr ""
"ArrayType]。例如,[code]arrays[0][/code] 是顶点的数组。总是需è¦ç¬¬ä¸€ä¸ªé¡¶ç‚¹å­æ•°"
"组,其他的å¯é€‰ã€‚添加一个索引数组使这个函数进入“索引模å¼â€ï¼Œé¡¶ç‚¹å’Œå…¶ä»–数组作为"
"æ•°æ®æ¥æºï¼Œç´¢å¼•æ•°ç»„定义其顶点顺åºã€‚所有的å­æ•°ç»„必须与顶点数组具有相åŒçš„长度,"
-"或者为空,如果使用了 [constant ARRAY_INDEX] 时除外。"
+"或者为空,如果使用了 [constant ARRAY_INDEX] 时除外。\n"
+"[code]compress_flags[/code] 是由 [enum Mesh.ArrayFormat] 枚举值组æˆçš„ä½åŸŸï¼Œé»˜"
+"认为 [constant Mesh.ARRAY_COMPRESS_DEFAULT]。\n"
+"[b]注æ„:[/b][code]compress_flags[/code] 默认会å¯ç”¨ [constant Mesh."
+"ARRAY_COMPRESS_COLOR],所以顶点颜色会作为 8 ä½æ— ç¬¦å·æ•´æ•°å­˜å‚¨ã€‚这会导致过亮颜"
+"色被钳制到 [code]Color(1, 1, 1, 1)[/code],é™ä½Žé¢œè‰²çš„精度。è¦å­˜å‚¨ HDR 顶点颜"
+"色,请将 [code]Mesh.ARRAY_COMPRESS_DEFAULT ^ Mesh.ARRAY_COMPRESS_COLOR[/"
+"code] 传入 [code]compress_flags[/code],移除顶点颜色压缩标志。"
#: doc/classes/ArrayMesh.xml
msgid "Removes all blend shapes from this [ArrayMesh]."
@@ -9731,10 +9788,10 @@ msgid ""
msgstr ""
"调用这个æ¥åˆå§‹åŒ–这个接å£ã€‚第一个被åˆå§‹åŒ–的接å£ç¡®å®šä¸ºä¸»æŽ¥å£ï¼Œç”¨äºŽæ¸²æŸ“输出。\n"
"在åˆå§‹åŒ–了接å£ä¹‹åŽï¼Œéœ€è¦å¯ç”¨è§†çª—çš„ AR/VR 模å¼ï¼Œå°†å¼€å§‹æ¸²æŸ“。\n"
-"[b]注æ„:[/b]对于任何使用 Godot 主输出的设备,如移动 VR,你必须在主视窗上å¯"
+"[b]注æ„:[/b]对于任何使用 Godot 主输出的设备,如移动 VR,你必须在主视å£ä¸Šå¯"
"用 AR/VR 模å¼ã€‚\n"
"如果你为一个处ç†è‡ªå·±è¾“出的平å°è¿™æ ·åšï¼ˆå¦‚ OpenVR),Godot 就会在å±å¹•ä¸Šåªæ˜¾ç¤ºä¸€"
-"åªçœ¼ç›è€Œä¸å¤±çœŸã€‚å¦å¤–,你å¯ä»¥åœ¨åœºæ™¯ä¸­æ·»åŠ ä¸€ä¸ªå•ç‹¬çš„视窗节点,在该视窗上å¯ç”¨ "
+"åªçœ¼ç›è€Œä¸å¤±çœŸã€‚å¦å¤–,你å¯ä»¥åœ¨åœºæ™¯ä¸­æ·»åŠ ä¸€ä¸ªå•ç‹¬çš„视å£èŠ‚点,在该视å£ä¸Šå¯ç”¨ "
"AR/VR。它将被用æ¥è¾“出到 HMD,让你在主窗å£ä¸­åšä½ å–œæ¬¢çš„事情,比如用一个å•ç‹¬çš„相"
"机作为æ—观者相机,或者渲染一些完全ä¸åŒçš„东西。\n"
"虽然目å‰æ²¡æœ‰ä½¿ç”¨ï¼Œä½†ä½ å¯ä»¥æ¿€æ´»å…¶ä»–接å£ã€‚如果你想跟踪其他平å°çš„控制器,å¯èƒ½å¸Œ"
@@ -12345,15 +12402,14 @@ msgid "Clears the audio sample data buffer."
msgstr "清除音频样本数æ®ç¼“冲区。"
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
-"返回è¦æ’­æ”¾çš„音频数æ®å¸§æ•°ã€‚如果返回的数字达到 [code]0[/code],音频将åœæ­¢æ’­æ”¾ï¼Œ"
-"直到å†æ¬¡æ·»åŠ å¸§ã€‚因此,请确ä¿ä½ çš„脚本始终能够以足够快的速度生æˆå’ŒæŽ¨é€æ–°çš„音频"
-"帧,以é¿å…音频破裂。"
+"如果å¯ä»¥å°†å¤§å°ä¸º [code]amount[/code] 的缓冲区推é€åˆ°éŸ³é¢‘采样数æ®ç¼“冲区而ä¸ä½¿å…¶"
+"溢出,则返回 [code]true[/code],å¦åˆ™è¿”回 [code]false[/code]。"
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -12877,8 +12933,8 @@ msgid ""
"PCM8 to signed PCM8, subtract 128 from each byte."
msgstr ""
"包å«ä»¥å­—节为å•ä½çš„音频数æ®ã€‚\n"
-"[b]注æ„:[/b]此属性需è¦æœ‰ç¬¦å·çš„ PCM8æ•°æ®ã€‚è¦å°†æ— ç¬¦å·çš„ PCM8转æ¢ä¸ºæœ‰ç¬¦å·çš„ "
-"PCM8,需è¦ä»Žæ¯ä¸ªå­—节中å‡åŽ»128。"
+"[b]注æ„:[/b]此属性需è¦æœ‰ç¬¦å·çš„ PCM8 æ•°æ®ã€‚è¦å°†æ— ç¬¦å·çš„ PCM8 转æ¢ä¸ºæœ‰ç¬¦å·çš„ "
+"PCM8,需è¦ä»Žæ¯ä¸ªå­—节中å‡åŽ» 128。"
#: doc/classes/AudioStreamSample.xml
msgid "Audio format. See [enum Format] constants for values."
@@ -12986,16 +13042,17 @@ msgstr ""
"[code]texture(SCREEN_TEXTURE, ...)[/code] 函数在ç€è‰²å™¨è„šæœ¬ä¸­å¯¹å…¶è¿›è¡Œè®¿é—®ã€‚"
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
"用于对当å‰å±å¹•æ˜¾ç¤ºè¿›è¡ŒåŽå°ç¼“冲的节点。BackBufferCopy 节点中定义的区域与其覆盖"
@@ -13011,26 +13068,30 @@ msgid "Buffer mode. See [enum CopyMode] constants."
msgstr "缓冲区模å¼ã€‚è§ [enum CopyMode] 常é‡ã€‚"
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
"BackBufferCopy 覆盖的区域。åªæœ‰å½“ [member copy_mode] 是 [constant "
"COPY_MODE_RECT] æ—¶æ‰ä½¿ç”¨ã€‚"
#: doc/classes/BackBufferCopy.xml
+#, fuzzy
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
"ç¦ç”¨ç¼“冲模å¼ã€‚è¿™æ„å‘³ç€ BackBufferCopy 节点将直接使用它所覆盖的å±å¹•éƒ¨åˆ†ã€‚"
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+#, fuzzy
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr "BackBufferCopy 缓冲一个矩形区域。"
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+#, fuzzy
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr "BackBufferCopy 缓冲整个å±å¹•ã€‚"
#: doc/classes/BakedLightmap.xml
@@ -13419,7 +13480,7 @@ msgid ""
"group]."
msgstr ""
"改å˜æŒ‰é’®çš„ [member pressed] 状æ€ï¼Œä¸è§¦å‘ [signal toggled]。当你åªæƒ³æ”¹å˜æŒ‰é’®çš„"
-"状æ€è€Œä¸å‘é€æŒ‰ä¸‹äº‹ä»¶æ—¶ä½¿ç”¨ï¼ˆä¾‹å¦‚,在åˆå§‹åŒ–场景时)。åªæœ‰å½“ [member "
+"状æ€è€Œä¸å‘é€æŒ‰ä¸‹äº‹ä»¶æ—¶ä½¿ç”¨ï¼ˆä¾‹å¦‚在åˆå§‹åŒ–场景时)。åªæœ‰å½“ [member "
"toggle_mode] 是 [code]true[/code] æ—¶æ‰æœ‰æ•ˆã€‚\n"
"[b]注æ„:[/b]这个方法ä¸ä¼šé‡Šæ”¾å…¶æŒ‰é’® [member group] 中的其他按钮。"
@@ -14028,7 +14089,7 @@ msgstr ""
#: doc/classes/Bone2D.xml
msgid ""
"Length of the bone's representation drawn in the editor's viewport in pixels."
-msgstr "在编辑器的视窗中绘制的骨骼的长度,å•ä½ä¸ºåƒç´ ã€‚"
+msgstr "在编辑器的视å£ä¸­ç»˜åˆ¶çš„骨骼的长度,å•ä½ä¸ºåƒç´ ã€‚"
#: doc/classes/Bone2D.xml
msgid ""
@@ -14735,10 +14796,10 @@ msgstr ""
"相机的视野角度,以度为å•ä½ã€‚仅适用于é€è§†æ¨¡å¼ã€‚由于 [member keep_aspect] é”定"
"一个轴,因此 [code]fov[/code] 设置å¦ä¸€ä¸ªè½´çš„视角。\n"
"作为å‚考,默认的垂直视野值([code]70.0[/code])相当于以下水平 FOV:\n"
-"- 在 4:3 视窗中约86.07 度\n"
-"- 在 16:10 视窗中约 96.50 度\n"
-"- 在 16:9 视窗中约102.45 度\n"
-"- 在 21:9 视窗中约117.06 度"
+"- 在 4:3 视å£ä¸­çº¦86.07 度\n"
+"- 在 16:10 视å£ä¸­çº¦ 96.50 度\n"
+"- 在 16:9 视å£ä¸­çº¦102.45 度\n"
+"- 在 21:9 视å£ä¸­çº¦117.06 度"
#: doc/classes/Camera.xml
msgid ""
@@ -15169,9 +15230,9 @@ msgid ""
"example, use [code]Vector2(0.5, 0.5)[/code] for a 2× zoom-in, and "
"[code]Vector2(4, 4)[/code] for a 4× zoom-out."
msgstr ""
-"相机相对于视窗的缩放比例。大于 [code]Vector2(1, 1)[/code] 的值会缩å°å†…容,而"
-"较å°çš„值会起到放大镜的作用。例如,将 [code]Vector2(0.5, 0.5)[/code] 放大 2 "
-"å€ï¼Œç„¶åŽå°† [code]Vector2(4, 4)[/code] 用于 4 å€ç¼©å°ã€‚"
+"相机相对于视å£çš„缩放比例。大于 [code]Vector2(1, 1)[/code] 的值会缩å°å†…容,而"
+"较å°çš„值会起到放大的作用。例如,将 [code]Vector2(0.5, 0.5)[/code] 放大 2 å€ï¼Œ"
+"然åŽå°† [code]Vector2(4, 4)[/code] 用于 4 å€ç¼©å°ã€‚"
#: doc/classes/Camera2D.xml
msgid ""
@@ -15308,11 +15369,11 @@ msgstr "ç§»é™¤æŒ‡å®šçš„ç›¸æœºæº [code]feed[/code]。"
#: doc/classes/CameraServer.xml
msgid "Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in)."
-msgstr "当添加 [CameraFeed] 时触å‘(例如,æ’入网络摄åƒå¤´ï¼‰ã€‚"
+msgstr "当添加 [CameraFeed] 时触å‘(例如æ’入网络摄åƒå¤´æ—¶ï¼‰ã€‚"
#: doc/classes/CameraServer.xml
msgid "Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged)."
-msgstr "当移除 [CameraFeed] 时触å‘(例如,拔掉网络摄åƒå¤´ï¼‰ã€‚"
+msgstr "当移除 [CameraFeed] 时触å‘(例如拔掉网络摄åƒå¤´æ—¶ï¼‰ã€‚"
#: doc/classes/CameraServer.xml
msgid "The RGBA camera image."
@@ -16592,7 +16653,7 @@ msgstr ""
"外观ä¸åŒã€‚为了éµå¾ªç”¨æˆ·ä½“验,建议在切æ¢å®ƒå¯¹æŸäº›ä¸œè¥¿æœ‰[b]直接[/b]å½±å“时使用"
"CheckButton。例如,如果切æ¢å®ƒå¯ä»¥å¯ç”¨æˆ–ç¦ç”¨è®¾ç½®è€Œä¸éœ€è¦ç”¨æˆ·æŒ‰ä¸‹ç¡®è®¤æŒ‰é’®æ—¶ï¼Œä½¿"
"用它。\n"
-"å‚阅[BaseButton],它包å«äº†ä¸Žè¯¥èŠ‚点相关的常规属性和方法。"
+"å¦è¯·å‚阅 [BaseButton],它包å«äº†ä¸Žè¯¥èŠ‚点相关的常规属性和方法。"
#: doc/classes/CheckButton.xml
msgid "The [CheckButton] text's font color."
@@ -17030,7 +17091,6 @@ msgid "Removes the given shape owner."
msgstr "移除给定形状的所有者。"
#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml
-#, fuzzy
msgid ""
"If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/"
"code] in the [member collision_layer].\n"
@@ -17039,11 +17099,10 @@ msgid ""
msgstr ""
"如果 [code]value[/code] 为 [code]true[/code],则设置 [member "
"collision_layer] 中指定的 [code]bit[/code] ä½ã€‚\n"
-"如果 [code]value[/code] 为 [code]false[/code],清除 [member collision_layer] "
-"中指定的 [code]bit[/code] ä½ã€‚"
+"如果 [code]value[/code] 为 [code]false[/code],则清除 [member "
+"collision_layer] 中指定的 [code]bit[/code] ä½ã€‚"
#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml
-#, fuzzy
msgid ""
"If [code]value[/code] is [code]true[/code], sets the specified [code]bit[/"
"code] in the [member collision_mask].\n"
@@ -17052,8 +17111,8 @@ msgid ""
msgstr ""
"如果 [code]value[/code] 为 [code]true[/code],则设置 [member collision_mask] "
"中指定的 [code]bit[/code] ä½ã€‚\n"
-"如果 [code]value[/code] 为 [code]false[/code],清除 [member collision_mask] "
-"中指定的 [code]bit[/code] ä½ã€‚"
+"如果 [code]value[/code] 为 [code]false[/code],则清除 [member "
+"collision_mask] 中指定的 [code]bit[/code] ä½ã€‚"
#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml
msgid "Returns the [code]owner_id[/code] of the given shape."
@@ -17427,7 +17486,6 @@ msgid "Node that represents collision shape data in 3D space."
msgstr "表示 3D 空间中的碰撞形状数æ®çš„节点。"
#: doc/classes/CollisionShape.xml
-#, fuzzy
msgid ""
"Editor facility for creating and editing collision shapes in 3D space. Set "
"the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this "
@@ -17437,10 +17495,11 @@ msgid ""
"example, add this to an [Area] to give it a detection shape, or add it to a "
"[PhysicsBody] to create a solid object."
msgstr ""
-"用于在 3D 空间中创建和编辑碰撞形状的编辑工具。您å¯ä»¥ä½¿ç”¨æ­¤èŠ‚点表示å„ç§ç¢°æ’žå½¢"
-"状,例如,将其添加到 [Area] 以使其具有检测形状,或将其添加到物ç†ä½“ "
-"[PhysicsBody] 以创建实体对象。[b]é‡è¦[/b]:这是一个编辑器专用的创建形状的助"
-"手,使用 [method CollisionObject.shape_owner_get_shape] 获å–实际形状。"
+"用于在 3D 空间中创建和编辑碰撞形状的编辑工具。请使用 [member shape] 属性é…ç½®"
+"形状。[b]é‡è¦[/b]:这是专为编辑器æ供的形状创建工具,è¦èŽ·å–实际形状,请使用 "
+"[method CollisionObject.shape_owner_get_shape]。\n"
+"ä½ å¯ä»¥ä½¿ç”¨è¿™ä¸ªèŠ‚点表示å„ç§ç¢°æ’žå½¢çŠ¶ï¼Œä¾‹å¦‚,将其添加到 [Area] 以使其具有检测形"
+"状,或将其添加到物ç†ä½“ [PhysicsBody] 以创建实体对象。"
#: doc/classes/CollisionShape.xml doc/classes/CollisionShape2D.xml
#: doc/classes/Physics2DDirectBodyState.xml
@@ -17475,7 +17534,6 @@ msgid "Node that represents collision shape data in 2D space."
msgstr "表示2D空间中的碰撞形状数æ®çš„节点。"
#: doc/classes/CollisionShape2D.xml
-#, fuzzy
msgid ""
"Editor facility for creating and editing collision shapes in 2D space. Set "
"the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this "
@@ -17485,10 +17543,11 @@ msgid ""
"example, add this to an [Area2D] to give it a detection shape, or add it to "
"a [PhysicsBody2D] to create a solid object."
msgstr ""
-"编辑器功能,用于在2D空间中创建和编辑碰撞形状。您å¯ä»¥ä½¿ç”¨æ­¤èŠ‚点表示å„ç§ç¢°æ’žå½¢"
-"状,例如,将其添加到 [Area2D] 以æ供检测形状,或将其添加到 [PhysicsBody2D] 以"
-"创建实体。[b]é‡è¦äº‹é¡¹[/b]:这是创建形状的仅编辑器助手,请使用 [method "
-"CollisionObject2D.shape_owner_get_shape] 获å–实际形状。"
+"用于在 2D 空间中创建和编辑碰撞形状的编辑工具。请使用 [member shape] 属性é…ç½®"
+"形状。[b]é‡è¦[/b]:这是专为编辑器æ供的形状创建工具,è¦èŽ·å–实际形状,请使用 "
+"[method CollisionObject2D.shape_owner_get_shape]。\n"
+"ä½ å¯ä»¥ä½¿ç”¨è¿™ä¸ªèŠ‚点表示å„ç§ç¢°æ’žå½¢çŠ¶ï¼Œä¾‹å¦‚,将其添加到 [Area2D] 以使其具有检测"
+"形状,或将其添加到物ç†ä½“ [PhysicsBody2D] 以创建实体对象。"
#: doc/classes/CollisionShape2D.xml doc/classes/KinematicBody2D.xml
#: doc/classes/RectangleShape2D.xml doc/classes/TileMap.xml
@@ -18827,6 +18886,17 @@ msgid ""
"Physics the area will not detect any collisions with the concave shape at "
"all (this is a known bug)."
msgstr ""
+"凹多边形形状资æºï¼Œå¯ä»¥æ”¾åˆ° [PhysicsBody] 和区域之中。这ç§å½¢çŠ¶æ˜¯é€šè¿‡è¾“入一组三"
+"角形æ¥åˆ›å»ºçš„。\n"
+"[b]注æ„:[/b]用于碰撞时,[ConcavePolygonShape] 应与 [StaticBody] ç­‰é™æ€ "
+"[PhysicsBody] 节点一起使用,与 [KinematicBody] å’Œéž Static 模å¼çš„ "
+"[RigidBody] 一起使用是无法正常工作的。\n"
+"[b]警告:[/b]将这ç§å½¢çŠ¶ç”¨äºŽ [Area](通过 [CollisionShape] 节点,例如选中 "
+"[MeshInstance] 节点åŽï¼Œé€šè¿‡å‡ºçŽ°çš„[i]网格[/i]èœå•ä¸­çš„[i]创建三角网格碰撞åŒçº§[/"
+"i]æ¥åˆ›å»ºï¼‰å¯èƒ½å¾—到出乎预料的结果:使用 Godot Physics 时,区域åªä¼šæ£€æµ‹ä¸Ž "
+"[ConcavePolygonShape] 的三角形é¢äº§ç”Ÿçš„碰撞(ä¸ä¼šæ£€æµ‹è¯¥å½¢çŠ¶çš„“内部â€ï¼Œè¿™é‡Œåªæ˜¯"
+"举个例å­ï¼‰ï¼Œä½¿ç”¨ Bullet Physics 时根本ä¸ä¼šæ£€æµ‹åˆ°ä»»ä½•ä¸Žå‡¹å½¢çŠ¶çš„碰撞(这是已知"
+"的问题)。"
#: doc/classes/ConcavePolygonShape.xml
msgid "Returns the faces (an array of triangles)."
@@ -18841,7 +18911,6 @@ msgid "Concave polygon 2D shape resource for physics."
msgstr "凹é¢å¤šè¾¹å½¢2D形状资æºç”¨äºŽç‰©ç†ã€‚"
#: doc/classes/ConcavePolygonShape2D.xml
-#, fuzzy
msgid ""
"Concave polygon 2D shape resource for physics. It is made out of segments "
"and is optimal for complex polygonal concave collisions. However, it is not "
@@ -18858,12 +18927,16 @@ msgid ""
"the segments in the [ConcavePolygonShape2D] (and not with any \"inside\" of "
"the shape, for example)."
msgstr ""
-"凹é¢å¤šè¾¹å½¢2D形状资æºç”¨äºŽç‰©ç†ã€‚它是由线段组æˆçš„,是å¤æ‚的多边形凹é¢ç¢°æ’žçš„最佳"
-"选择。但是,建议ä¸è¦å°†å…¶ç”¨äºŽ[RigidBody2D]节点。建议使用凸分解模å¼ï¼ˆå®žä½“)或多"
-"个凸对象的CollisionPolygon2D代替。å¦åˆ™ï¼Œå‡¹å¤šè¾¹å½¢2D形状更适åˆé™æ€ç¢°æ’žã€‚\n"
-"[ConvexPolygonShape2D]å’Œ[ConcavePolygonShape2D]之间的主è¦åŒºåˆ«åœ¨äºŽï¼Œå‡¹é¢å¤šè¾¹å½¢"
-"å‡å®šå…¶ä¸ºå‡¹é¢ï¼Œå¹¶ä½¿ç”¨æ›´å¤æ‚的碰撞检测方法,而凸é¢å¤šè¾¹å½¢åˆ™å°†è‡ªèº«å¼ºåˆ¶å˜ä¸ºå‡¸é¢ï¼Œ"
-"以加快碰撞检测的速度。"
+"用于物ç†çš„凹多边形 2D 形状资æºã€‚它是由线段组æˆçš„,是å¤æ‚的多边形凹é¢ç¢°æ’žçš„最"
+"佳选择。但是建议ä¸è¦å°†å…¶ç”¨äºŽ [RigidBody2D] 节点。建议使用凸分解模å¼ï¼ˆå®žä½“)或"
+"多个凸对象的 CollisionPolygon2D 代替。å¦åˆ™ï¼Œå‡¹å¤šè¾¹å½¢ 2D 形状更适åˆé™æ€ç¢°"
+"撞。\n"
+"[ConvexPolygonShape2D] å’Œ [ConcavePolygonShape2D] 之间的主è¦åŒºåˆ«åœ¨äºŽï¼Œå‡¹å¤šè¾¹"
+"å½¢å‡å®šå…¶ä¸ºå‡¹é¢ï¼Œå¹¶ä½¿ç”¨æ›´å¤æ‚的碰撞检测方法,而凸多边形则将自身强制å˜ä¸ºå‡¸é¢ï¼Œ"
+"以加快碰撞检测的速度。\n"
+"[b]警告:[/b]将这ç§å½¢çŠ¶ç”¨äºŽ [Area2D](通过 [CollisionShape2D] 节点)å¯èƒ½å¾—到"
+"出乎预料的结果:区域åªä¼šæ£€æµ‹ä¸Ž [ConcavePolygonShape2D] 的线段产生的碰撞(ä¸ä¼š"
+"检测该形状的“内部â€ï¼Œè¿™é‡Œåªæ˜¯ä¸¾ä¸ªä¾‹å­ï¼‰ã€‚"
#: doc/classes/ConcavePolygonShape2D.xml
msgid ""
@@ -19599,7 +19672,7 @@ msgstr ""
"时,本地覆盖项始终优先。\n"
"[b]注æ„:[/b]为覆盖项设 [code]null[/code] 值å¯å°†å…¶åˆ é™¤ã€‚该行为已废弃,将在 "
"4.0 中移除,请æ¢æˆ [method remove_stylebox_override]。\n"
-"å‚阅 [method get_stylebox]。\n"
+"å¦è¯·å‚阅 [method get_stylebox]。\n"
"[b]通过å¤åˆ¶æ¥ä¿®æ”¹ StyleBox 中的属性的示例:[/b]\n"
"[codeblock]\n"
"# 下é¢çš„代ç ç‰‡æ®µå‡è®¾å­èŠ‚点 MyButton 分é…了一个 StyleBoxFlat。\n"
@@ -19672,7 +19745,7 @@ msgstr "找到下一个å¯ä»¥æŽ¥å—焦点的 [Control],在树的下方。"
#: doc/classes/Control.xml
msgid ""
"Finds the previous (above in the tree) [Control] that can receive the focus."
-msgstr "找到å¯ä»¥æŽ¥æ”¶ç„¦ç‚¹çš„上一个 [Control],在树的上方。"
+msgstr "找到上一个å¯ä»¥æŽ¥å—焦点的 [Control],在树的上方。"
#: doc/classes/Control.xml
msgid ""
@@ -19735,11 +19808,11 @@ msgstr ""
"code],则使用当å‰æŽ§ä»¶çš„ç±»å作为类型,如果定义了 [member "
"theme_type_variation] 则也会使用。如果类型是类å,则还会按继承顺åºæ£€æŸ¥å…¶çˆ¶"
"类。\n"
-"对于当å‰æŽ§ä»¶ï¼Œé¦–先考虑其本地覆盖项,å‚阅 [method add_color_override],然åŽæ˜¯"
-"其分é…çš„ [member theme]。在当å‰æŽ§ä»¶ä¹‹åŽï¼Œè€ƒè™‘æ¯ä¸ªçˆ¶æŽ§ä»¶åŠå…¶åˆ†é…çš„ [member "
-"theme];未分é…[member theme]的控件将被跳过。如果在树中找ä¸åˆ°åŒ¹é…çš„ [Theme],"
-"则使用自定义项目 [Theme]和默认的 [Theme],å‚阅 [member ProjectSettings.gui/"
-"theme/custom]。\n"
+"对于当å‰æŽ§ä»¶ï¼Œä¼šé¦–å…ˆè€ƒè™‘å…¶æœ¬åœ°è¦†ç›–é¡¹ï¼ˆè§ [method add_color_override]),然åŽ"
+"å†æ˜¯ä¸ºå…¶åˆ†é…çš„ [member theme]。在当å‰æŽ§ä»¶ä¹‹åŽï¼Œè€ƒè™‘æ¯ä¸ªçˆ¶æŽ§ä»¶åŠå…¶åˆ†é…çš„ "
+"[member theme]ï¼›æœªåˆ†é… [member theme] 的控件将被跳过。如果在树中找ä¸åˆ°åŒ¹é…çš„ "
+"[Theme],则使用自定义项目 [Theme]ï¼ˆè§ [member ProjectSettings.gui/theme/"
+"custom])和默认的 [Theme]。\n"
"[codeblock]\n"
"func _ready():\n"
" # 获å–为当å‰æŽ§ä»¶ç±»å®šä¹‰çš„字体颜色(如果存在)。\n"
@@ -19925,12 +19998,11 @@ msgid ""
"be clicked instead\n"
"[/codeblock]"
msgstr ""
-"创建一个[InputEventMouseButton],å°è¯•ç‚¹å‡»æŽ§ä»¶ã€‚如果接收到该事件,控件就会获得"
-"焦点。\n"
+"创建å°è¯•ç‚¹å‡»è¯¥æŽ§ä»¶çš„ [InputEventMouseButton]。如果接收到该事件,该控件就会获"
+"得焦点。\n"
"[codeblock]\n"
"func _process(delta):\n"
-" grab_click_focus() #when clicking another Control node, this node will "
-"be clicked instead\n"
+" grab_click_focus() # 点击其它 Control 节点时,实际会点到这个节点\n"
"[/codeblock]"
#: doc/classes/Control.xml
@@ -19991,7 +20063,7 @@ msgid ""
"Returns [code]true[/code] if this is the current focused control. See "
"[member focus_mode]."
msgstr ""
-"如果这是当å‰çš„焦点控件,则返回 [code]true[/code]。å‚阅[member focus_mode]。"
+"如果这是当å‰çš„焦点控件,则返回 [code]true[/code]ã€‚è§ [member focus_mode]。"
#: doc/classes/Control.xml
msgid ""
@@ -20057,7 +20129,7 @@ msgid ""
msgstr ""
"如果此 [Control] 节点中具有指定 [code]name[/code] 的主题ç€è‰²å™¨å­˜åœ¨æœ¬åœ°è¦†ç›–"
"项,则返回 [code]true[/code]。\n"
-"å‚阅[method add_shader_override]。"
+"è§ [method add_shader_override]。"
#: doc/classes/Control.xml
msgid ""
@@ -20078,7 +20150,7 @@ msgid ""
msgstr ""
"如果在此 [Control] 节点中具有指定 [code]name[/code] 的主题 [StyleBox] 的本地"
"覆盖项,则返回 [code]true[/code]。\n"
-"å‚阅 [method add_stylebox_override]。"
+"è§ [method add_stylebox_override]。"
#: doc/classes/Control.xml
msgid ""
@@ -20148,15 +20220,15 @@ msgid ""
"[code]push_opposite_anchor[/code] was [code]false[/code], the left anchor "
"would get value 0.5."
msgstr ""
-"将由[enum Margin]枚举的[code]margin[/code]常é‡æ ‡è¯†çš„锚设置为值[code]anchor[/"
-"code]。用于[member anchor_bottom],[member anchor_left],[member "
-"anchor_right]和[member anchor_top]的setter方法。\n"
-"如果[code]keep_margin[/code]为 [code]true[/code],则在执行此æ“作åŽä¸ä¼šæ›´æ–°è¾¹"
-"è·ã€‚\n"
-"如果[code]push_opposite_anchor[/code]为 [code]true[/code],并且相对的锚点与该"
-"锚点é‡å ï¼Œåˆ™ç›¸å¯¹çš„锚点将覆盖其值。例如,当将左锚点设置为1且å³é”šç‚¹çš„值为0.5"
-"时,å³é”šç‚¹çš„值也将为1。如果[code]push_opposite_anchor[/code]为 [code]false[/"
-"code],则左锚点将得到值0.5。"
+"将由 [code]margin[/code] 常é‡æ ‡è¯†çš„锚点设置为值 [code]anchor[/code],å–值为 "
+"[enum Margin] 枚举。这是 [member anchor_bottom]ã€[member anchor_left]ã€"
+"[member anchor_right]ã€[member anchor_top] çš„ setter 方法。\n"
+"如果 [code]keep_margin[/code] 为 [code]true[/code],则在执行此æ“作åŽä¸ä¼šæ›´æ–°"
+"è¾¹è·ã€‚\n"
+"如果 [code]push_opposite_anchor[/code] 为 [code]true[/code],并且相对的锚点与"
+"该锚点é‡å ï¼Œåˆ™ç›¸å¯¹çš„锚点将覆盖其值。例如,当将左锚点设置为 1 且å³é”šç‚¹çš„值为 "
+"0.5 时,å³é”šç‚¹çš„值也将为 1。如果 [code]push_opposite_anchor[/code] 为 "
+"[code]false[/code],则左锚点将得到值 0.5。"
#: doc/classes/Control.xml
msgid ""
@@ -20165,15 +20237,14 @@ msgid ""
"offset yourself (see [method set_margin])."
msgstr ""
"与 [method set_anchor] 的工作原ç†ç›¸åŒï¼Œä½†æ˜¯å®ƒä»£æ›¿ [code]keep_margin[/code] å‚"
-"数和边è·çš„自动更新,它å…许您自己设置边è·å移é‡ï¼ˆè¯·å‚阅 [method "
-"set_margin])。"
+"数和边è·çš„自动更新,它å…许您自己设置边è·å移é‡ï¼ˆè§ [method set_margin])。"
#: doc/classes/Control.xml
msgid ""
"Sets both anchor preset and margin preset. See [method set_anchors_preset] "
"and [method set_margins_preset]."
msgstr ""
-"设置锚点预设和边è·é¢„设。请å‚阅 [method set_anchors_preset] å’Œ [method "
+"设置锚点预设和边è·é¢„è®¾ã€‚è§ [method set_anchors_preset] å’Œ [method "
"set_margins_preset]。"
#: doc/classes/Control.xml
@@ -20193,7 +20264,7 @@ msgid ""
"Sets [member margin_left] and [member margin_top] at the same time. "
"Equivalent of changing [member rect_position]."
msgstr ""
-"åŒæ—¶è®¾ç½®[member margin_left]å’Œ[member margin_top]。等效于更改[member "
+"åŒæ—¶è®¾ç½® [member margin_left] å’Œ [member margin_top]。等效于更改 [member "
"rect_position]。"
#: doc/classes/Control.xml
@@ -20285,7 +20356,7 @@ msgstr ""
#: doc/classes/Control.xml
msgid "Sets [member margin_right] and [member margin_bottom] at the same time."
-msgstr "åŒæ—¶è®¾ç½®[member margin_right]å’Œ[member margin_bottom]。"
+msgstr "åŒæ—¶è®¾ç½® [member margin_right] å’Œ [member margin_bottom]。"
#: doc/classes/Control.xml
msgid ""
@@ -20305,9 +20376,9 @@ msgid ""
"If [code]keep_margins[/code] is [code]true[/code], control's anchors will be "
"updated instead of margins."
msgstr ""
-"将[member rect_global_position]设置为给定的[code]position[/code]。\n"
-"如果[code]keep_margins[/code]为 [code]true[/code],则控件的锚点将被更新,而ä¸"
-"是边è·ã€‚"
+"将 [member rect_global_position] 设置为给定的 [code]position[/code]。\n"
+"如果 [code]keep_margins[/code] 为 [code]true[/code],则更新的是控件的锚点,而"
+"ä¸æ˜¯è¾¹è·ã€‚"
#: doc/classes/Control.xml
msgid ""
@@ -20345,9 +20416,9 @@ msgid ""
"If [code]keep_margins[/code] is [code]true[/code], control's anchors will be "
"updated instead of margins."
msgstr ""
-"将[member rect_position]设置为给定的[code]position[/code]。\n"
-"如果[code]keep_margins[/code]为 [code]true[/code],则控件的锚点将被更新,而ä¸"
-"是边è·ã€‚"
+"将 [member rect_position] 设置为给定的 [code]position[/code]。\n"
+"如果 [code]keep_margins[/code] 为 [code]true[/code],则更新的是控件的锚点,而"
+"ä¸æ˜¯è¾¹è·ã€‚"
#: doc/classes/Control.xml
msgid "Sets the rotation (in radians)."
@@ -20431,8 +20502,8 @@ msgid ""
"The focus access mode for the control (None, Click or All). Only one Control "
"can be focused at the same time, and it will receive keyboard signals."
msgstr ""
-"控件的焦点访问模å¼ï¼ˆâ€œæ— â€ï¼Œâ€œå•å‡»â€æˆ–“全部â€ï¼‰ã€‚åªèƒ½åŒæ—¶é›†ä¸­ä¸€ä¸ªæŽ§ä»¶ï¼Œå®ƒå°†æŽ¥æ”¶é”®"
-"盘信å·ã€‚"
+"控件的焦点访问模å¼ï¼ˆâ€œæ— â€â€œå•å‡»â€æˆ–“全部â€ï¼‰ã€‚åªèƒ½åŒæ—¶èšç„¦ä¸€ä¸ªæŽ§ä»¶ï¼Œè¯¥æŽ§ä»¶ä¼šæ”¶åˆ°"
+"键盘信å·ã€‚"
#: doc/classes/Control.xml
msgid ""
@@ -20740,7 +20811,7 @@ msgstr ""
msgid ""
"The size of the node's bounding rectangle, in pixels. [Container] nodes "
"update this property automatically."
-msgstr "节点边界矩形的大å°ï¼Œä»¥åƒç´ ä¸ºå•ä½ã€‚[Container]节点会自动更新此属性。"
+msgstr "节点边界矩形的大å°ï¼Œä»¥åƒç´ ä¸ºå•ä½ã€‚[Container] 节点会自动更新此属性。"
#: doc/classes/Control.xml
msgid ""
@@ -20907,11 +20978,11 @@ msgstr "当节点更改大å°æ—¶å‘é€ã€‚使用 [member rect_size] 获å–新大å
#: doc/classes/Control.xml
msgid "Sent when the mouse pointer enters the node."
-msgstr "当鼠标指针进入节点时å‘é€ã€‚"
+msgstr "当鼠标指针进入该节点时å‘é€ã€‚"
#: doc/classes/Control.xml
msgid "Sent when the mouse pointer exits the node."
-msgstr "当鼠标指针退出节点时å‘é€ã€‚"
+msgstr "当鼠标指针退出该节点时å‘é€ã€‚"
#: doc/classes/Control.xml
msgid "Sent when the node grabs focus."
@@ -20927,8 +20998,8 @@ msgid ""
"control. Happens when you call one of the [code]add_*_override[/code] "
"methods."
msgstr ""
-"当节点的 [member theme] 改å˜æ—¶ï¼Œå°±åœ¨Godoté‡ç»˜æŽ§ä»¶ä¹‹å‰å‘é€ã€‚当你调用"
-"[code]add_*_override[/code]方法之一时å‘生。"
+"当节点的 [member theme] 改å˜æ—¶ï¼Œå°±åœ¨ Godot é‡ç»˜æŽ§ä»¶ä¹‹å‰å‘é€ã€‚当你调用 "
+"[code]add_*_override[/code] 方法之一时å‘生。"
#: doc/classes/Control.xml
msgid "Sent when an open modal dialog closes. See [method show_modal]."
@@ -20960,8 +21031,8 @@ msgid ""
"beam pointer has a shape similar to \"I\". It tells the user they can "
"highlight or insert text."
msgstr ""
-"当用户将节点悬åœæ—¶ï¼Œæ˜¾ç¤ºç³»ç»Ÿçš„Iåž‹å…‰æŸé¼ æ ‡å…‰æ ‡ã€‚工字æ¢æŒ‡é’ˆçš„形状类似于“Iâ€ã€‚它"
-"告诉用户他们å¯ä»¥çªå‡ºæ˜¾ç¤ºæˆ–æ’入文本。"
+"当用户将节点悬åœæ—¶ï¼Œæ˜¾ç¤ºç³»ç»Ÿçš„ I åž‹å…‰æŸé¼ æ ‡å…‰æ ‡ã€‚工字æ¢æŒ‡é’ˆçš„形状类似于“Iâ€ã€‚"
+"它告诉用户他们å¯ä»¥çªå‡ºæ˜¾ç¤ºæˆ–æ’入文本。"
#: doc/classes/Control.xml
msgid ""
@@ -21000,7 +21071,7 @@ msgid ""
"grabbing, like a node in the Scene dock."
msgstr ""
"当用户悬åœèŠ‚点时,显示系统的è½åœ°é¼ æ ‡å…‰æ ‡ã€‚它å¯ä»¥æ˜¯ä¸€ä¸ªå¼ å¼€çš„手。它告诉用户å¯"
-"以放下一个他们当å‰æ­£åœ¨æŠ“å–的物å“,比如场景dock中的一个节点。"
+"以放下一个他们当å‰æ­£åœ¨æŠ“å–的物å“,比如场景é¢æ¿ä¸­çš„一个节点。"
#: doc/classes/Control.xml
msgid ""
@@ -21053,8 +21124,8 @@ msgid ""
"2 double-headed arrows at a 90 degree angle. It tells the user they can move "
"a UI element freely."
msgstr ""
-"当用户将节点悬åœæ—¶ï¼Œæ˜¾ç¤ºç³»ç»Ÿçš„移动鼠标光标。它以90度角显示2个åŒå‘箭头。它告诉"
-"用户他们å¯ä»¥è‡ªç”±ç§»åŠ¨ UI 元素。"
+"当用户将节点悬åœæ—¶ï¼Œæ˜¾ç¤ºç³»ç»Ÿçš„移动鼠标光标。它以 90 度角显示 2 个åŒå‘箭头。它"
+"告诉用户他们å¯ä»¥è‡ªç”±ç§»åŠ¨ UI 元素。"
#: doc/classes/Control.xml
msgid ""
@@ -21240,8 +21311,8 @@ msgid ""
"the available space without pushing any other node. Use with [member "
"size_flags_horizontal] and [member size_flags_vertical]."
msgstr ""
-"告诉父[Container]扩展此节点的边界,以在ä¸æŽ¨å…¶ä»–节点的情况下填充所有å¯ç”¨ç©ºé—´ã€‚"
-"使用[member size_flags_horizontal]和[member size_flags_vertical]。"
+"告诉父 [Container] 扩展此节点的边界,以在ä¸æŽ¨å…¶ä»–节点的情况下填充所有å¯ç”¨ç©º"
+"间。用于 [member size_flags_horizontal] 和 [member size_flags_vertical]。"
#: doc/classes/Control.xml
msgid ""
@@ -21251,17 +21322,17 @@ msgid ""
"size_flags_stretch_ratio]. Use with [member size_flags_horizontal] and "
"[member size_flags_vertical]."
msgstr ""
-"告诉父级[Container]让该节点å ç”¨æ‚¨æ ‡è®°çš„轴上的所有å¯ç”¨ç©ºé—´ã€‚如果将多个相邻节点"
-"设置为扩展,它们将根æ®å…¶æ‹‰ä¼¸æ¯”共享空间。å‚阅[member "
-"size_flags_stretch_ratio]。与[member size_flags_horizontal]和[member "
-"size_flags_vertical]一起使用。"
+"告诉父级 [Container] 让该节点å ç”¨æ‚¨æ ‡è®°çš„轴上的所有å¯ç”¨ç©ºé—´ã€‚如果将多个相邻节"
+"点设置为扩展,它们将根æ®å…¶æ‹‰ä¼¸æ¯”å…±äº«ç©ºé—´ã€‚è§ [member "
+"size_flags_stretch_ratio]。用于 [member size_flags_horizontal] 和 [member "
+"size_flags_vertical]。"
#: doc/classes/Control.xml
msgid ""
"Sets the node's size flags to both fill and expand. See the 2 constants "
"above for more information."
msgstr ""
-"将节点的大å°æ ‡å¿—设置为åŒæ—¶å¡«å……和扩展。有关更多信æ¯ï¼Œè¯·å‚阅上é¢çš„2个常é‡ã€‚"
+"将节点的大å°æ ‡å¿—设置为åŒæ—¶å¡«å……和扩展。有关更多信æ¯ï¼Œè¯·å‚阅上é¢çš„ 2 个常é‡ã€‚"
#: doc/classes/Control.xml
msgid ""
@@ -21271,8 +21342,8 @@ msgid ""
"size_flags_vertical]."
msgstr ""
"告诉父级 [Container] 使节点本身居中。它基于控件的包围框居中,因此它ä¸é€‚用于 "
-"fill 或 expand 尺寸标志。与 [member size_flags_horizontal] 和 [member "
-"size_flags_vertical] 一起使用。"
+"fill 或 expand 尺寸标志。用于 [member size_flags_horizontal] 和 [member "
+"size_flags_vertical]。"
#: doc/classes/Control.xml
msgid ""
@@ -21282,8 +21353,8 @@ msgid ""
"size_flags_vertical]."
msgstr ""
"告诉父级 [Container] 将节点与其末端(底部或å³ä¾§ï¼‰å¯¹é½ã€‚它ä¸é€‚用于 fill 或 "
-"expand size 标志。与 [member size_flags_horizontal] 和 [member "
-"size_flags_vertical] 一起使用。"
+"expand size 标志。用于 [member size_flags_horizontal] 和 [member "
+"size_flags_vertical]。"
#: doc/classes/Control.xml
msgid ""
@@ -21440,7 +21511,8 @@ msgid ""
"and doesn't need to be configured by the user."
msgstr ""
"基于 CPU çš„ 3D ç²’å­èŠ‚点,用于创建å„ç§ç²’å­ç³»ç»Ÿå’Œæ•ˆæžœã€‚\n"
-"å‚阅 [Particles],它是以硬件加速æ供相åŒçš„功能,但å¯èƒ½æ— æ³•åœ¨æ—§è®¾å¤‡ä¸Šè¿è¡Œã€‚\n"
+"å¦è¯·å‚阅 [Particles],它是以硬件加速æ供相åŒçš„功能,但å¯èƒ½æ— æ³•åœ¨æ—§è®¾å¤‡ä¸Šè¿"
+"行。\n"
"[b]注æ„:[/b]与 [Particles] ä¸åŒï¼Œå…¶å¯è§æ€§çŸ©å½¢æ˜¯å³æ—¶ç”Ÿæˆçš„,ä¸éœ€è¦ç”¨æˆ·é…置。"
#: doc/classes/CPUParticles.xml
@@ -21703,7 +21775,7 @@ msgstr ""
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
#: doc/classes/ParticlesMaterial.xml
msgid "Align Y axis of particle with the direction of its velocity."
-msgstr "将粒å­çš„Y轴与其速度方å‘对é½ã€‚"
+msgstr "将粒å­çš„ Y 轴与其速度方å‘对é½ã€‚"
#: doc/classes/CPUParticles.xml doc/classes/ParticlesMaterial.xml
msgid "If [code]true[/code], particles will not move on the z axis."
@@ -24007,6 +24079,14 @@ msgid "Cylinder shape for collisions."
msgstr "碰撞用的圆柱体形状。"
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "圆柱体的高度。"
@@ -25459,7 +25539,7 @@ msgstr "AssetLib 选项å¡ã€‚如果ç¦ç”¨æ­¤åŠŸèƒ½ï¼Œåˆ™ä¸ä¼šæ˜¾ç¤º AssetLib é€
msgid ""
"Scene tree editing. If this feature is disabled, the Scene tree dock will "
"still be visible but will be read-only."
-msgstr "场景树编辑。如果ç¦ç”¨æ­¤åŠŸèƒ½ï¼Œåœºæ™¯æ ‘åœé ç‚¹ä»å°†å¯è§ï¼Œä½†å°†æ˜¯åªè¯»çš„。"
+msgstr "场景树编辑。如果ç¦ç”¨æ­¤åŠŸèƒ½ï¼Œåœºæ™¯æ ‘é¢æ¿ä»å°†å¯è§ï¼Œä½†å°†æ˜¯åªè¯»çš„。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -26049,7 +26129,7 @@ msgstr ""
#: doc/classes/EditorInspector.xml
msgid "A control used to edit properties of an object."
-msgstr "用于编辑所选节点属性的控件。"
+msgstr "用于编辑对象属性的控件。"
#: doc/classes/EditorInspector.xml
msgid ""
@@ -26654,9 +26734,9 @@ msgid ""
"custom gizmos to the 3D preview viewport for a [Spatial].\n"
"See [method add_inspector_plugin] for an example of how to register a plugin."
msgstr ""
-"注册一个新的空间辅助器æ’件 [EditorSpatialGizmoPlugin]。Gizmoæ’件用于为 "
-"[Spatial] 的 3D预览视窗添加自定义的 gizmos。\n"
-"å‚è§ [method add_inspector_plugin] 以了解如何注册一个æ’件的例å­ã€‚"
+"注册一个新的 [EditorSpatialGizmoPlugin]。å°å·¥å…·æ’件å¯ä»¥åœ¨ 3D 预览视区中为 "
+"[Spatial] 添加自定义的å°å·¥å…·ã€‚\n"
+"注册æ’ä»¶çš„ç¤ºä¾‹è§ [method add_inspector_plugin]。"
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -27143,7 +27223,7 @@ msgstr "删除由 [method add_scene_import_plugin] 注册的场景导入器。"
#: doc/classes/EditorPlugin.xml
msgid "Removes a gizmo plugin registered by [method add_spatial_gizmo_plugin]."
-msgstr "删除由 [method add_spatial_gizmo_plugin] 注册的控制器æ’件。"
+msgstr "删除由 [method add_spatial_gizmo_plugin] 注册的å°å·¥å…·æ’件。"
#: doc/classes/EditorPlugin.xml
msgid "Removes a menu [code]name[/code] from [b]Project > Tools[/b]."
@@ -27810,6 +27890,7 @@ msgid "Base script that can be used to add extension functions to the editor."
msgstr "å¯ç”¨äºŽä¸ºç¼–辑器添加扩展功能的基础脚本。"
#: doc/classes/EditorScript.xml
+#, fuzzy
msgid ""
"Scripts extending this class and implementing its [method _run] method can "
"be executed from the Script Editor's [b]File > Run[/b] menu option (or by "
@@ -27827,7 +27908,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
"扩展该类并实现其 [method _run] 方法的脚本å¯ä»¥åœ¨ç¼–辑器è¿è¡Œæ—¶é€šè¿‡è„šæœ¬ç¼–辑器的"
"[b]文件 > è¿è¡Œ[/b]èœå•é€‰é¡¹ï¼ˆæˆ–按 [code]Ctrl+Shift+X[/code]ï¼‰æ‰§è¡Œã€‚è¿™å¯¹äºŽå‘ "
@@ -28165,7 +28249,7 @@ msgstr ""
#: doc/classes/EditorSpatialGizmo.xml
msgid "Custom gizmo for editing Spatial objects."
-msgstr "用于编辑空间对象的自定义å°å·¥å…·ã€‚"
+msgstr "用于编辑 Spatial 对象的自定义å°å·¥å…·ã€‚"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28181,7 +28265,7 @@ msgid ""
"Adds the specified [code]segments[/code] to the gizmo's collision shape for "
"picking. Call this function during [method redraw]."
msgstr ""
-"将指定的 [code]segments[/code] 添加到 gizmo 的碰撞形状中,以便挑选。在 "
+"将指定的线段 [code]segments[/code] 添加到å°å·¥å…·çš„碰撞形状中,用于点选。请在 "
"[method redraw] 时调用此函数。"
#: doc/classes/EditorSpatialGizmo.xml
@@ -28190,8 +28274,8 @@ msgid ""
"generated from a regular [Mesh] too. Call this function during [method "
"redraw]."
msgstr ""
-"将碰撞三角形添加到å°å·¥å…·ä¸­ï¼Œä¾›æŒ‘选。也å¯ä»¥ä»Žæ™®é€šçš„ [Mesh] ç”Ÿæˆ "
-"[TriangleMesh]。在 [method redraw] 时调用此函数。"
+"将碰撞三角形添加到å°å·¥å…·ä¸­ï¼Œç”¨äºŽç‚¹é€‰ã€‚也å¯ä»¥ä»Žæ™®é€šçš„ [Mesh] ç”Ÿæˆ "
+"[TriangleMesh]。请在 [method redraw] 时调用此函数。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28200,8 +28284,8 @@ msgid ""
"There are virtual functions which will be called upon editing of these "
"handles. Call this function during [method redraw]."
msgstr ""
-"添加一个å¥æŸ„(点)列表,å¯ä»¥ç”¨æ¥å¯¹ç¼–辑的对象进行å˜å½¢ã€‚\n"
-"有一些虚函数将在编辑这些å¥æŸ„时被调用。在 [method redraw]时调用这个函数。"
+"添加列表中的手柄(点),å¯ä»¥ç”¨æ¥å¯¹ç¼–辑的对象进行å˜å½¢ã€‚\n"
+"编辑这些手柄时会调用一些虚函数。请在 [method redraw] 时调用这个函数。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28209,8 +28293,8 @@ msgid ""
"lines are used for visualizing the gizmo. Call this function during [method "
"redraw]."
msgstr ""
-"用给定的æ质在å°å·¥å…·ä¸Šæ·»åŠ çº¿æ¡åˆ° gizmo(作为 2 个点的集åˆï¼‰ã€‚线æ¡ç”¨äºŽå¯è§†åŒ– "
-"gizmo。在 [method redraw] 时调用此函数。"
+"在å°å·¥å…·ä¸Šæ·»åŠ ä½¿ç”¨ç»™å®šæ质的线æ¡ï¼ˆå½¢å¼ä¸º 2 个点的集åˆï¼‰ã€‚线æ¡å°†ç”¨äºŽæ˜¾ç¤ºå°å·¥"
+"具。请在 [method redraw] 时调用此函数。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28219,10 +28303,10 @@ msgid ""
"is [code]true[/code], the mesh will rotate to always face the camera. Call "
"this function during [method redraw]."
msgstr ""
-"以指定的 [code]billboard[/code] 状æ€ã€[code]skeleton[/code] å’Œ "
-"[code]materia[/code] 添加网格到å°å·¥å…·ã€‚如果 [code]billboard[/code] 为 "
-"[code]true[/code],则网格将旋转为始终é¢å‘相机。在 [method redraw] 时调用此函"
-"数。"
+"在å°å·¥å…·ä¸Šæ·»åŠ æŒ‡å®šçš„网格,网格使用的是指定的 [code]billboard[/code] 状æ€ã€"
+"[code]skeleton[/code] 和 [code]materia[/code]。如果 [code]billboard[/code] "
+"为 [code]true[/code],则网格将旋转为始终é¢å‘相机。请在 [method redraw] 时调用"
+"此函数。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28233,7 +28317,7 @@ msgstr "添加一个未缩放的广告牌以实现å¯è§†åŒ–。在 [method redraw
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
"Removes everything in the gizmo including meshes, collisions and handles."
-msgstr "移除å°å·¥å…·ä¸­çš„一切,包括网格ã€ç¢°æ’žå’Œå¥æŸ„。"
+msgstr "移除å°å·¥å…·ä¸­çš„一切,包括网格ã€ç¢°æ’žå’Œæ‰‹æŸ„。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28242,9 +28326,9 @@ msgid ""
"If the [code]cancel[/code] parameter is [code]true[/code], an option to "
"restore the edited value to the original is provided."
msgstr ""
-"æ交一个正在编辑的å¥æŸ„(å¥æŸ„必须是之å‰é€šè¿‡[method add_handles]添加的)。\n"
-"如果[code]cancel[/code]å‚数是[code]true[/code],则æ供了一个将编辑åŽçš„值æ¢å¤"
-"到原始值的选项。"
+"æ交正在编辑的手柄(手柄必须是之å‰é€šè¿‡ [method add_handles] 添加的)。\n"
+"如果 [code]cancel[/code] å‚数为 [code]true[/code],则会æ供一个将编辑åŽçš„值æ¢"
+"å¤åˆ°åŽŸå§‹å€¼çš„选项。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28252,16 +28336,16 @@ msgid ""
"by [method add_handles]).\n"
"Handles can be named for reference to the user when editing."
msgstr ""
-"获å–已编辑的å¥æŸ„çš„å称(å¥æŸ„必须是之å‰é€šè¿‡[method add_handles]添加的)。\n"
-"å¥æŸ„çš„å称å¯ä»¥åœ¨ç¼–辑时被命å作为用户å‚考。"
+"获å–编辑的手柄的å称(手柄必须是之å‰é€šè¿‡ [method add_handles] 添加的)。\n"
+"手柄的å称å¯ä»¥åœ¨ç¼–辑时被命å作为用户å‚考。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
"Gets actual value of a handle. This value can be anything and used for "
"eventually undoing the motion when calling [method commit_handle]."
msgstr ""
-"获å–一个å¥æŸ„的实际值,这个值å¯ä»¥æ˜¯ä»»ä½•ä¸œè¥¿ï¼Œç”¨äºŽåœ¨è°ƒç”¨[method commit_handle]"
-"时最终撤销动作。这个值å¯ä»¥æ˜¯ä»»ä½•ä¸œè¥¿ï¼Œç”¨äºŽåœ¨è°ƒç”¨[method commit_handle]时最终"
+"获å–手柄的实际值。这个值å¯ä»¥æ˜¯ä»»ä½•ä¸œè¥¿ï¼Œç”¨äºŽåœ¨è°ƒç”¨ [method commit_handle] æ—¶"
+"最终撤销动作。这个值å¯ä»¥æ˜¯ä»»ä½•ä¸œè¥¿ï¼Œç”¨äºŽåœ¨è°ƒç”¨ [method commit_handle] 时最终"
"撤销动作。"
#: doc/classes/EditorSpatialGizmo.xml
@@ -28281,15 +28365,16 @@ msgid ""
"Returns [code]true[/code] if the handle at index [code]index[/code] is "
"highlighted by being hovered with the mouse."
msgstr ""
-"如果鼠标悬åœç´¢å¼•ä¸º [code]index[/code] çš„å¥æŸ„高亮,则返回 [code]true[/code]。"
+"如果鼠标悬åœåœ¨ç´¢å¼•ä¸º [code]index[/code] 的手柄上使之高亮,则返回 [code]true[/"
+"code]。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
"This function is called when the [Spatial] this gizmo refers to changes (the "
"[method Spatial.update_gizmo] is called)."
msgstr ""
-"当这个工具所指 [Spatial] çš„å˜åŒ–时([method Spatial.update_gizmo] 函数被调"
-"用)。"
+"这个å°å·¥å…·æ‰€å¼•ç”¨çš„ [Spatial] å‘生å˜åŒ–时([method Spatial.update_gizmo] 函数被"
+"调用)会调用这个函数。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
@@ -28298,8 +28383,8 @@ msgid ""
"The [Camera] is also provided so screen coordinates can be converted to "
"raycasts."
msgstr ""
-"当用户在å±å¹•å标中拖动一个 gizmo 工具手柄时(之å‰ç”¨ [method add_handles] 添加"
-"的),就会使用这个函数。\n"
+"当用户在å±å¹•å标中拖动å°å·¥å…·æ‰‹æŸ„时(之å‰ç”¨ [method add_handles] 添加),就会"
+"使用这个函数。\n"
"还æ供了相机 [Camera],以便将å±å¹•å标转æ¢ä¸ºå°„线投影。"
#: doc/classes/EditorSpatialGizmo.xml
@@ -28307,18 +28392,19 @@ msgid ""
"Sets the gizmo's hidden state. If [code]true[/code], the gizmo will be "
"hidden. If [code]false[/code], it will be shown."
msgstr ""
-"设置工具的éšè—状æ€ã€‚如果为 [code]true[/code],则å°æŽ§ä»¶å°†è¢«éšè—。如果为 "
-"[code]false[/code],将显示它。"
+"设置该å°å·¥å…·çš„éšè—状æ€ã€‚如果为 [code]true[/code],则该å°å·¥å…·å°†è¢«éšè—。如果为 "
+"[code]false[/code] 则会显示。"
#: doc/classes/EditorSpatialGizmo.xml
msgid ""
"Sets the reference [Spatial] node for the gizmo. [code]node[/code] must "
"inherit from [Spatial]."
-msgstr "设置工具的å‚考 [Spatial] 节点。[code]node[/code]必须继承自 [Spatial]。"
+msgstr ""
+"设置该å°å·¥å…·æ‰€å¼•ç”¨çš„ [Spatial] 节点。[code]node[/code]必须继承自 [Spatial]。"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid "Used by the editor to define Spatial gizmo types."
-msgstr "由编辑部用于定义空间å°å·¥å…·çš„类型。"
+msgstr "由编辑部用于定义 Spatial å°å·¥å…·çš„类型。"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
@@ -28329,8 +28415,8 @@ msgid ""
"To use [EditorSpatialGizmoPlugin], register it using the [method "
"EditorPlugin.add_spatial_gizmo_plugin] method first."
msgstr ""
-"[EditorSpatialGizmoPlugin] å¯ç”¨äºŽå®šä¹‰æ–°çš„控制器类型。这样åšçš„主è¦æ–¹æ³•æœ‰ä¸¤ç§ï¼š"
-"比较简å•çš„控制器å¯ä»¥æ‰©å±• [EditorSpatialGizmoPlugin],或者å¯ä»¥åˆ›å»ºæ–°çš„ "
+"[EditorSpatialGizmoPlugin] å¯ç”¨äºŽå®šä¹‰æ–°çš„å°å·¥å…·ç±»åž‹ã€‚这样åšçš„主è¦æ–¹æ³•æœ‰ä¸¤ç§ï¼š"
+"比较简å•çš„å°å·¥å…·å¯ä»¥æ‰©å±• [EditorSpatialGizmoPlugin],或者å¯ä»¥åˆ›å»ºæ–°çš„ "
"[EditorSpatialGizmo] 类型。有关更多信æ¯ï¼Œè¯·å‚阅文档中的教程。\n"
"è¦ä½¿ç”¨ [EditorSpatialGizmoPlugin],请先用 [method EditorPlugin."
"add_spatial_gizmo_plugin] 注册。"
@@ -28348,13 +28434,13 @@ msgid ""
"Override this method to define whether the gizmo can be hidden or not. "
"Returns [code]true[/code] if not overridden."
msgstr ""
-"é‡å†™æ­¤æ–¹æ³•ä»¥å®šä¹‰æ˜¯å¦å¯ä»¥éšè— Gizmo。如果未覆盖,则返回 [code]true[/code]。"
+"é‡å†™æ­¤æ–¹æ³•ä»¥å®šä¹‰æ˜¯å¦å¯ä»¥éšè—该å°å·¥å…·ã€‚如果未覆盖,则返回 [code]true[/code]。"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
"Override this method to commit gizmo handles. Called for this plugin's "
"active gizmos."
-msgstr "é‡å†™æ­¤æ–¹æ³•ä»¥æ交 Gizmo å¥æŸ„。调用此æ’件的活动辅助工具。"
+msgstr "é‡å†™æ­¤æ–¹æ³•ä»¥æ交å°å·¥å…·æ‰‹æŸ„。会为这个æ’件的活动å°å·¥å…·è¿›è¡Œè°ƒç”¨ã€‚"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
@@ -28405,13 +28491,13 @@ msgstr ""
msgid ""
"Override this method to provide gizmo's handle names. Called for this "
"plugin's active gizmos."
-msgstr "é‡å†™æ­¤æ–¹æ³•ä»¥æä¾› Gizmo çš„å¥æŸ„å称。调用此æ’件的活动工具。"
+msgstr "é‡å†™æ­¤æ–¹æ³•ä»¥æä¾›å°å·¥å…·çš„手柄å称。会为这个æ’件的活动å°å·¥å…·è¿›è¡Œè°ƒç”¨ã€‚"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
"Gets actual value of a handle from gizmo. Called for this plugin's active "
"gizmos."
-msgstr "从 Gizmo 获å–å¥æŸ„的实际值。调用此æ’件的活动工具。"
+msgstr "从å°å·¥å…·èŽ·å–手柄的实际值。会为这个æ’件的活动å°å·¥å…·è¿›è¡Œè°ƒç”¨ã€‚"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
@@ -28426,7 +28512,7 @@ msgstr ""
msgid ""
"Override this method to provide the name that will appear in the gizmo "
"visibility menu."
-msgstr "é‡å†™æ­¤æ–¹æ³•ä»¥æ供将出现在工具å¯è§æ€§èœå•ä¸­çš„å称。"
+msgstr "é‡å†™æ­¤æ–¹æ³•ä»¥æ供将出现在å°å·¥å…·å¯è§æ€§èœå•ä¸­çš„å称。"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
@@ -28437,10 +28523,10 @@ msgid ""
"overridden, this method will return [code]0[/code], which means custom "
"gizmos will automatically override built-in gizmos."
msgstr ""
-"é‡å†™æ­¤æ–¹æ³•å¯ä»¥è®¾ç½®å·¥å…·çš„优先级。值越高,优先级越高。如果具有较高优先级的工具"
-"与å¦ä¸€ä¸ªå·¥å…·å‘生冲çªï¼Œåˆ™ä»…使用具有较高优先级的工具。\n"
-"所有内置编辑器å°æŽ§ä»¶å‡è¿”回 [code]-1[/code]优先级。如果未é‡å†™ï¼Œåˆ™æ­¤æ–¹æ³•å°†è¿”回 "
-"[code]0[/code],这æ„味ç€è‡ªå®šä¹‰æŽ§ä»¶å°†è‡ªåŠ¨è¦†ç›–内置控件。"
+"é‡å†™æ­¤æ–¹æ³•å¯ä»¥è®¾ç½®å°å·¥å…·çš„优先级。值越高,优先级越高。如果具有较高优先级的å°"
+"工具与å¦ä¸€ä¸ªå°å·¥å…·å‘生冲çªï¼Œåˆ™ä»…使用具有较高优先级的å°å·¥å…·ã€‚\n"
+"所有内置编辑器å°å·¥å…·å‡è¿”回 [code]-1[/code] 优先级。如果未é‡å†™ï¼Œåˆ™æ­¤æ–¹æ³•å°†è¿”"
+"回 [code]0[/code],这æ„味ç€è‡ªå®šä¹‰æŽ§ä»¶å°†è‡ªåŠ¨è¦†ç›–内置å°å·¥å…·ã€‚"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
@@ -28449,34 +28535,36 @@ msgid ""
"if it returns [code]true[/code] the node gets a generic [EditorSpatialGizmo] "
"assigned and is added to this plugin's list of active gizmos."
msgstr ""
-"覆盖这个方法æ¥å®šä¹‰å“ªäº›ç©ºé—´èŠ‚点有这个æ’件的 gizmo。æ¯å½“一个 [Spatial] 节点被添"
-"加到一个场景中时,这个方法就会被调用,如果它返回 [code]true[/code],该节点就"
-"会被分é…一个通用的 [EditorSpatialGizmo],并被添加到这个æ’件的激活 Gizmos列表"
-"中。"
+"覆盖这个方法æ¥å®šä¹‰å“ªäº› Spatial 节点有这个æ’件的å°å·¥å…·ã€‚æ¯å½“一个 [Spatial] 节"
+"点被添加到一个场景中时,这个方法就会被调用,如果它返回 [code]true[/code],该"
+"节点就会被分é…一个通用的 [EditorSpatialGizmo],并被添加到这个æ’件的激活å°å·¥å…·"
+"列表中。"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
"Gets whether a handle is highlighted or not. Called for this plugin's active "
"gizmos."
-msgstr "获å–å¥æŸ„是å¦é«˜äº®æ˜¾ç¤ºã€‚调用此æ’件的活动工具。"
+msgstr "获å–手柄是å¦é«˜äº®æ˜¾ç¤ºã€‚会为这个æ’件的活动å°å·¥å…·è¿›è¡Œè°ƒç”¨ã€‚"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
"Override this method to define whether a Spatial with this gizmo should be "
"selectable even when the gizmo is hidden."
-msgstr "覆盖此方法,以定义具有此工具的空间是å¦åº”该在工具被éšè—时也å¯ä»¥è¢«é€‰æ‹©ã€‚"
+msgstr ""
+"覆盖此方法,以定义具有此å°å·¥å…·çš„ Spatial 是å¦åº”该在å°å·¥å…·è¢«éšè—时也å¯ä»¥è¢«é€‰"
+"择。"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
"Callback to redraw the provided gizmo. Called for this plugin's active "
"gizmos."
-msgstr "回调以é‡æ–°ç»˜åˆ¶æ供的工具。调用此æ’件的活动工具。"
+msgstr "用以é‡ç»˜ç»™å®šçš„å°å·¥å…·çš„回调。会为这个æ’件的活动å°å·¥å…·è¿›è¡Œè°ƒç”¨ã€‚"
#: doc/classes/EditorSpatialGizmoPlugin.xml
msgid ""
"Update the value of a handle after it has been updated. Called for this "
"plugin's active gizmos."
-msgstr "æ›´æ–°å¥æŸ„åŽæ›´æ–°å…¶å€¼ã€‚调用此æ’件的活动工具。"
+msgstr "更新手柄åŽæ›´æ–°å…¶å€¼ã€‚会为这个æ’件的活动å°å·¥å…·è¿›è¡Œè°ƒç”¨ã€‚"
#: doc/classes/EditorSpinSlider.xml
msgid "Godot editor's control for editing numeric values."
@@ -28902,8 +28990,8 @@ msgid ""
"here.\n"
"[/codeblock]"
msgstr ""
-"返回自引擎åˆå§‹åŒ–以æ¥çš„总帧数,在æ¯ä¸ª[b]空闲帧[/b]都会进行,无论渲染循环是å¦è¢«"
-"å¯ç”¨ã€‚å‚阅 [method get_frames_drawn] å’Œ [method get_physics_frames]。\n"
+"返回自引擎åˆå§‹åŒ–以æ¥çš„总帧数,无论是å¦å¯ç”¨æ¸²æŸ“循环,æ¯ä¸ª[b]空闲帧[/b]都会增"
+"长。å¦è¯·å‚阅 [method get_frames_drawn] å’Œ [method get_physics_frames]。\n"
"[method get_idle_frames] å¯ä»¥ç”¨æ¥å‡å°‘è¿è¡Œé«˜æ¶ˆè€—逻辑的次数,而ä¸éœ€è¦ä¾é  "
"[Timer]。\n"
"[codeblock]\n"
@@ -29143,14 +29231,14 @@ msgstr ""
"ä¿¡æ¯å¯èƒ½ä¼šè¢«éšè—,å³ä½¿å®ƒä»¬æ˜¯ç”±å…¶ä»–脚本触å‘。如果在 [code]tool[/code] 脚本中把"
"这个设置为 [code]false[/code],这也会影å“到编辑器本身。在确ä¿é”™è¯¯ä¿¡æ¯è¢«å¯ç”¨ä¹‹"
"å‰ï¼Œ[i]请勿[/i]报告错误(因为默认情况下是会的)。\n"
-"[b]注æ„:[/b]当从编辑器è¿è¡Œä¸€ä¸ªé¡¹ç›®æ—¶ï¼Œè¿™ä¸ªå±žæ€§ä¸å½±å“编辑器的错误选项å¡ã€‚"
+"[b]注æ„:[/b]从编辑器è¿è¡Œé¡¹ç›®æ—¶ï¼Œè¿™ä¸ªå±žæ€§ä¸å½±å“编辑器的错误选项å¡ã€‚"
#: doc/classes/Engine.xml
msgid ""
"The desired frames per second. If the hardware cannot keep up, this setting "
"may not be respected. A value of 0 means no limit."
msgstr ""
-"所需的æ¯ç§’帧数。如果硬件无法跟上,则å¯èƒ½ä¸éµå®ˆæ­¤è®¾ç½®ã€‚值为0表示没有é™åˆ¶ã€‚"
+"所需的æ¯ç§’帧数。如果硬件无法跟上,则å¯èƒ½ä¸éµå®ˆæ­¤è®¾ç½®ã€‚值为 0 表示没有é™åˆ¶ã€‚"
#: doc/classes/Engine.xml
msgid ""
@@ -29863,7 +29951,7 @@ msgid ""
msgstr ""
"使用自定义的é€æ˜Žé¢œè‰²æ¸…除背景,并å…许定义天空的阴影和å射。这ç§æ¨¡å¼æ¯” "
"[constant BG_SKY] ç¨å¿«ï¼Œåº”是在å¯ä»¥çœ‹åˆ°å射,但天空本身ä¸å¯è§çš„场景中的首选"
-"(例如,自上而下的相机)。"
+"(例如俯视角相机)。"
#: doc/classes/Environment.xml
msgid "Displays a [CanvasLayer] in the background."
@@ -30830,7 +30918,7 @@ msgid ""
"will change the window title to \"Open a File\")."
msgstr ""
"如果为 [code]true[/code],更改 [code]Mode[/code] 属性将相应地设置窗å£æ ‡é¢˜ï¼ˆä¾‹"
-"如,将模å¼è®¾ç½®ä¸º [constant MODE_OPEN_FILE] 会将窗å£æ ‡é¢˜æ›´æ”¹ä¸ºâ€œæ‰“开文件â€ï¼‰ã€‚"
+"如将模å¼è®¾ç½®ä¸º [constant MODE_OPEN_FILE] 会将窗å£æ ‡é¢˜æ›´æ”¹ä¸ºâ€œæ‰“开文件â€ï¼‰ã€‚"
#: doc/classes/FileDialog.xml
msgid "If [code]true[/code], the dialog will show hidden files."
@@ -36983,7 +37071,7 @@ msgstr "原始纹ç†ï¼ˆåœ¨åŽ‹ç¼©å‰ï¼‰ä½¿ç”¨ sRGB 空间。"
msgid ""
"Source texture (before compression) is a normal texture (e.g. it can be "
"compressed into two channels)."
-msgstr "原始纹ç†ï¼ˆåœ¨åŽ‹ç¼©å‰ï¼‰æ˜¯æ³•çº¿çº¹ç†ï¼ˆä¾‹å¦‚,å¯ä»¥åŽ‹ç¼©ä¸ºä¸¤ä¸ªé€šé“)。"
+msgstr "原始纹ç†ï¼ˆåœ¨åŽ‹ç¼©å‰ï¼‰æ˜¯æ³•çº¿çº¹ç†ï¼ˆä¾‹å¦‚å¯ä»¥åŽ‹ç¼©ä¸ºä¸¤ä¸ªé€šé“)。"
#: doc/classes/Image.xml
msgid "Source texture (before compression) is a [TextureLayered]."
@@ -41441,11 +41529,14 @@ msgstr ""
"如果为 [code]true[/code],则光线的效果会逆转,使区域å˜æš—并投射明亮的阴影。"
#: doc/classes/Light.xml
+#, fuzzy
msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
"ç¯å…‰çš„大å°ï¼Œä½¿ç”¨ Godot çš„å•ä½ã€‚åªåœ¨çƒ˜ç„™çš„光照贴图中考虑,并且åªåœ¨ [member "
"light_bake_mode] 被设置为 [constant BAKE_ALL] 时考虑。增加这个值会使阴影看起"
@@ -43128,8 +43219,8 @@ msgstr ""
"点击åŽä¼šå¼¹å‡º [PopupMenu] 的特殊按钮。\n"
"å¯ä»¥ä½¿ç”¨ [code]get_popup().add_item(\"èœå•é¡¹ç›®å称\")[/code] 在这个 "
"[PopupMenu] 中创建新项目。你也å¯ä»¥ç›´æŽ¥ä»Žç¼–辑器中创建它们。è¦åšåˆ°è¿™ç‚¹ï¼Œé€‰æ‹© "
-"[MenuButton] 节点,然åŽåœ¨ 2D 编辑器顶部的工具æ ä¸­ï¼Œç‚¹å‡»[b]项目[/b],然åŽç‚¹å‡»"
-"弹出窗å£ä¸­çš„[b]添加[/b]。你将能够赋予æ¯ä¸ªé¡¹ç›®æ–°çš„属性。\n"
+"[MenuButton] 节点,然åŽåœ¨ 2D 编辑器顶部的工具æ ä¸­ï¼Œç‚¹å‡»[b]列表项[/b],然åŽç‚¹"
+"击弹出窗å£ä¸­çš„[b]添加[/b]。你将能够赋予æ¯ä¸ªé¡¹ç›®æ–°çš„属性。\n"
"与该节点相关的常用属性和方法请å‚阅 [BaseButton]。"
#: doc/classes/MenuButton.xml doc/classes/OptionButton.xml
@@ -43286,23 +43377,23 @@ msgstr ""
msgid ""
"Returns all the vertices that make up the faces of the mesh. Each three "
"vertices represent one triangle."
-msgstr "返回所有在这个网格中,构æˆé¢çš„顶点。æ¯ä¸‰ä¸ªé¡¶ç‚¹ä»£è¡¨ä¸€ä¸ªä¸‰è§’形。"
+msgstr "返回网格中所有构æˆé¢çš„顶点。æ¯ä¸‰ä¸ªé¡¶ç‚¹ä»£è¡¨ä¸€ä¸ªä¸‰è§’形。"
#: doc/classes/Mesh.xml
msgid "Returns the amount of surfaces that the [Mesh] holds."
-msgstr "返回该网格的é¢æ•°ã€‚"
+msgstr "返回该 [Mesh] 中表é¢çš„个数。"
#: doc/classes/Mesh.xml
msgid ""
"Returns the arrays for the vertices, normals, uvs, etc. that make up the "
"requested surface (see [method ArrayMesh.add_surface_from_arrays])."
msgstr ""
-"返回所有组æˆé¢æ‰€éœ€çš„东西构æˆçš„数组的数组,例如顶点,法å‘,UV等。(å‚阅"
-"[method ArrayMesh.add_surface_from_arrays])。"
+"返回构æˆè¯·æ±‚表é¢çš„顶点ã€æ³•çº¿ã€UV ç­‰æ•°ç»„ã€‚ï¼ˆè§ [method ArrayMesh."
+"add_surface_from_arrays])。"
#: doc/classes/Mesh.xml
msgid "Returns the blend shape arrays for the requested surface."
-msgstr "返回所需é¢çš„æ··åˆå½¢çŠ¶æ•°ç»„。"
+msgstr "返回请求表é¢çš„æ··åˆå½¢çŠ¶æ•°ç»„。"
#: doc/classes/Mesh.xml
msgid ""
@@ -43326,31 +43417,31 @@ msgstr ""
#: doc/classes/Mesh.xml
msgid "Render array as points (one vertex equals one point)."
-msgstr "将顶点数组渲染为点阵(一个顶点对应一个点阵中的点)。"
+msgstr "将数组渲染为点(一个顶点对应一个点)。"
#: doc/classes/Mesh.xml
msgid "Render array as lines (every two vertices a line is created)."
-msgstr "将顶点组渲染为线æ¡ï¼ˆæ¯ä¸¤ä¸ªé¡¶ç‚¹ä¹‹é—´åˆ›å»ºä¸€æ¡è¿žçº¿ï¼‰ã€‚"
+msgstr "将数组渲染为线(æ¯ä¸¤ä¸ªé¡¶ç‚¹åˆ›å»ºä¸€æ¡è¿žçº¿ï¼‰ã€‚"
#: doc/classes/Mesh.xml
msgid "Render array as line strip."
-msgstr "将顶点组渲染为线æ¡ã€‚"
+msgstr "将数组渲染为线æ¡ã€‚"
#: doc/classes/Mesh.xml
msgid "Render array as line loop (like line strip, but closed)."
-msgstr "将数组渲染æˆçº¿çŠ¶çŽ¯ï¼ˆåƒçº¿æ¡ï¼Œä½†æ˜¯å°é—­çš„)。"
+msgstr "将数组渲染为线环(类似线æ¡ï¼Œä½†æ˜¯å°é—­çš„)。"
#: doc/classes/Mesh.xml
msgid "Render array as triangles (every three vertices a triangle is created)."
-msgstr "将顶点组渲染为三角形(æ¯ä¸‰ä¸ªç›¸é‚»é¡¶ç‚¹åˆ›å»ºä¸€ä¸ªä¸‰è§’形)。"
+msgstr "将数组渲染为三角形(æ¯ä¸‰ä¸ªé¡¶ç‚¹åˆ›å»ºä¸€ä¸ªä¸‰è§’形)。"
#: doc/classes/Mesh.xml
msgid "Render array as triangle strips."
-msgstr "将顶点组渲染为三角形线框。"
+msgstr "将数组渲染为三角形æ¡ã€‚"
#: doc/classes/Mesh.xml
msgid "Render array as triangle fans."
-msgstr "将数组渲染æˆä¸‰è§’形扇形。"
+msgstr "将数组渲染为三角形扇。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Blend shapes are normalized."
@@ -43358,46 +43449,45 @@ msgstr "æ··åˆå½¢çŠ¶æ˜¯è¢«å½’一化了的。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Blend shapes are relative to base weight."
-msgstr "æ··åˆå½¢çŠ¶ç›¸å¯¹äºŽåŸºç¡€çš„æƒé‡ã€‚"
+msgstr "æ··åˆå½¢çŠ¶æ˜¯ç›¸å¯¹äºŽåŸºç¡€çš„æƒé‡ã€‚"
#: doc/classes/Mesh.xml
msgid ""
"Mesh array contains vertices. All meshes require a vertex array so this "
"should always be present."
-msgstr ""
-"网格组包å«è®¸å¤šé¡¶ç‚¹ã€‚æ¯ä¸€ä¸ªç½‘格都需è¦ä¸€ä¸ªé¡¶ç‚¹æ•°ç»„,所以这应该æŒä¹…化储存。"
+msgstr "网格数组包å«é¡¶ç‚¹ã€‚所有网格都需è¦æœ‰é¡¶ç‚¹æ•°ç»„,所以这应该始终存在。"
#: doc/classes/Mesh.xml
msgid "Mesh array contains normals."
-msgstr "网格组包å«æ³•çº¿ã€‚"
+msgstr "网格数组包å«æ³•çº¿ã€‚"
#: doc/classes/Mesh.xml
msgid "Mesh array contains tangents."
-msgstr "网格组包å«åˆ‡å‘。"
+msgstr "网格数组包å«åˆ‡çº¿ã€‚"
#: doc/classes/Mesh.xml
msgid "Mesh array contains colors."
-msgstr "网格组包å«é¢œè‰²ã€‚"
+msgstr "网格数组包å«é¢œè‰²ã€‚"
#: doc/classes/Mesh.xml
msgid "Mesh array contains UVs."
-msgstr "ç½‘æ ¼ç»„åŒ…å« UV。"
+msgstr "ç½‘æ ¼æ•°ç»„åŒ…å« UV。"
#: doc/classes/Mesh.xml
msgid "Mesh array contains second UV."
-msgstr "网格组包å«ç¬¬äºŒå¥— UV。"
+msgstr "网格数组包å«ç¬¬äºŒå¥— UV。"
#: doc/classes/Mesh.xml
msgid "Mesh array contains bones."
-msgstr "网格组包å«éª¨éª¼ã€‚"
+msgstr "网格数组包å«éª¨éª¼ã€‚"
#: doc/classes/Mesh.xml
msgid "Mesh array contains bone weights."
-msgstr "网格组包å«éª¨éª¼æƒé‡ã€‚"
+msgstr "网格数组包å«éª¨éª¼æƒé‡ã€‚"
#: doc/classes/Mesh.xml
msgid "Mesh array uses indices."
-msgstr "网格组使用索引。"
+msgstr "网格数组使用索引。"
#: doc/classes/Mesh.xml
msgid ""
@@ -43411,11 +43501,11 @@ msgstr "用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰é¡¶ç‚¹æ•°ç»„的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed (half float) normal array."
-msgstr "曾ç»ç”¨äºŽæ ‡è®°åŽ‹ç¼©ï¼ˆåŠç²¾åº¦æµ®ç‚¹ï¼‰æ³•å‘数组的标志。"
+msgstr "用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰æ³•å‘数组的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed (half float) tangent array."
-msgstr "曾ç»ç”¨äºŽæ ‡è®°åŽ‹ç¼©ï¼ˆåŠç²¾åº¦æµ®ç‚¹ï¼‰åˆ‡å‘数组的标志。"
+msgstr "用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰åˆ‡çº¿æ•°ç»„的标志。"
#: doc/classes/Mesh.xml
msgid ""
@@ -43424,16 +43514,19 @@ msgid ""
"unsigned integers. This will clamp overbright colors to [code]Color(1, 1, 1, "
"1)[/code] and reduce colors' precision."
msgstr ""
+"用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰é¢œè‰²æ•°ç»„的标志。\n"
+"[b]注æ„:[/b]如果å¯ç”¨è¿™ä¸ªæ ‡å¿—,顶点颜色会作为 8 ä½æ— ç¬¦å·æ•´æ•°å­˜å‚¨ã€‚这会导致过"
+"亮颜色被钳制到 [code]Color(1, 1, 1, 1)[/code],é™ä½Žé¢œè‰²çš„精度。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed (half float) UV coordinates array."
-msgstr "曾用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰UV å标数组的标志。"
+msgstr "用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰UV å标数组的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid ""
"Flag used to mark a compressed (half float) UV coordinates array for the "
"second UV coordinates."
-msgstr "曾用于标记第二套 UV å标的压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰UV å标数组的标志。"
+msgstr "用于标记第二套 UV å标的压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰UV å标数组的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed bone array."
@@ -43445,11 +43538,11 @@ msgstr "用于标记压缩(åŠç²¾åº¦æµ®ç‚¹ï¼‰æƒé‡æ•°ç»„的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed index array."
-msgstr "曾用于标记压缩索引数组的标志。"
+msgstr "用于标记压缩索引数组的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark that the array contains 2D vertices."
-msgstr "æ›¾ç”¨äºŽæ ‡è®°åŒ…å« 2D 顶点的数组的标志。"
+msgstr "ç”¨äºŽæ ‡è®°åŒ…å« 2D 顶点的数组的标志。"
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark that the array uses 16-bit bones instead of 8-bit."
@@ -43462,7 +43555,6 @@ msgid ""
msgstr "标志用于标记数组使用法线和切线å‘é‡çš„å…«é¢è¡¨ç¤ºæ³•ï¼Œè€Œä¸æ˜¯ç¬›å¡å°”å¼ã€‚"
#: doc/classes/Mesh.xml
-#, fuzzy
msgid ""
"Used to set flags [constant ARRAY_COMPRESS_VERTEX], [constant "
"ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant "
@@ -43477,7 +43569,10 @@ msgstr ""
"ARRAY_COMPRESS_NORMAL]ã€[constant ARRAY_COMPRESS_TANGENT]ã€[constant "
"ARRAY_COMPRESS_COLOR]ã€[constant ARRAY_COMPRESS_TEX_UV]ã€[constant "
"ARRAY_COMPRESS_TEX_UV2]ã€[constant ARRAY_COMPRESS_WEIGHTS]ã€[constant "
-"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] 。"
+"ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] 。\n"
+"[b]注æ„:[/b]因为这个标志会å¯ç”¨ [constant ARRAY_COMPRESS_COLOR],所以顶点颜色"
+"会作为 8 ä½æ— ç¬¦å·æ•´æ•°å­˜å‚¨ã€‚这会导致过亮颜色被钳制到 [code]Color(1, 1, 1, 1)[/"
+"code],é™ä½Žé¢œè‰²çš„精度。"
#: doc/classes/Mesh.xml
msgid "Array of vertices."
@@ -43489,7 +43584,7 @@ msgstr "法线数组。"
#: doc/classes/Mesh.xml
msgid "Array of tangents as an array of floats, 4 floats per tangent."
-msgstr "切å‘数组。æ¯ä¸€ä¸ªåˆ‡å‘æ•°æ®ç”±å››ä¸ª float å˜é‡æ述。"
+msgstr "åˆ‡çº¿æ•°ç»„ï¼Œæ˜¯æµ®ç‚¹æ•°æ•°ç»„ï¼Œæ¯ 4 个浮点数表示一æ¡åˆ‡çº¿ã€‚"
#: doc/classes/Mesh.xml
msgid "Array of colors."
@@ -43505,7 +43600,7 @@ msgstr "第二套 UV å标数组。"
#: doc/classes/Mesh.xml
msgid "Array of bone data."
-msgstr "骨骼数æ®çš„数组。"
+msgstr "骨骼数æ®æ•°ç»„。"
#: doc/classes/Mesh.xml
msgid "Array of weights."
@@ -43517,7 +43612,7 @@ msgstr "索引数组。"
#: doc/classes/MeshDataTool.xml
msgid "Helper tool to access and edit [Mesh] data."
-msgstr "用于帮助编辑和使用 [Mesh] 网格数æ®çš„工具。"
+msgstr "用于访问和编辑 [Mesh] æ•°æ®çš„辅助工具。"
#: doc/classes/MeshDataTool.xml
msgid ""
@@ -43587,7 +43682,7 @@ msgstr "å°†å½“å‰ MeshDataTool 中所有的数æ®å…¨éƒ¨æ¸…除。"
#: doc/classes/MeshDataTool.xml
msgid "Adds a new surface to specified [Mesh] with edited data."
-msgstr "使用编辑åŽçš„æ•°æ®ï¼Œå‘特定的[Mesh]中添加一个新的é¢ã€‚"
+msgstr "使用编辑åŽçš„æ•°æ®ï¼Œå‘指定的 [Mesh] 中添加一个新的表é¢ã€‚"
#: doc/classes/MeshDataTool.xml
msgid ""
@@ -43595,11 +43690,11 @@ msgid ""
"Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
"使用给定 [Mesh] 的指定表é¢æ¥å¡«å…… MeshDataTool çš„æ•°æ®ã€‚\n"
-"è¦æ±‚ [Mesh] 具有基本类型 [constant Mesh.PRIMITIVE_TRIANGLES]。"
+"è¦æ±‚ [Mesh] 的图元类型为 [constant Mesh.PRIMITIVE_TRIANGLES]。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the number of edges in this [Mesh]."
-msgstr "返回这个[Mesh]的边数。"
+msgstr "返回这个 [Mesh] 的边数。"
#: doc/classes/MeshDataTool.xml
msgid "Returns array of faces that touch given edge."
@@ -43656,15 +43751,15 @@ msgid ""
"ARRAY_FORMAT_NORMAL] is [code]2[/code].\n"
"See [enum ArrayMesh.ArrayFormat] for a list of format flags."
msgstr ""
-"返回 [Mesh] çš„æ ¼å¼ï¼Œè¯¥æ ¼å¼æ˜¯ç”± [Mesh] æ ¼å¼æ ‡è¯†ç»„åˆè€Œæˆçš„整数。例如,一个åŒæ—¶"
-"包å«é¡¶ç‚¹å’Œæ³•çº¿çš„网格将返回 [code]3[/code]æ ¼å¼ï¼Œå› ä¸º [constant ArrayMesh."
-"ARRAY_FORMAT_VERTEX] = [code]1[/code],[constant ArrayMesh."
-"ARRAY_FORMAT_NORMAL] = [code]2[/code]。\n"
-"å‚阅 [enum ArrayMesh.ArrayFormat] çš„æ ¼å¼æ ‡è¯†åˆ—表。"
+"返回该 [Mesh] çš„æ ¼å¼ï¼Œè¯¥æ ¼å¼æ˜¯ç”± [Mesh] æ ¼å¼æ ‡è¯†ç»„åˆè€Œæˆçš„整数。例如,一个åŒ"
+"时包å«é¡¶ç‚¹å’Œæ³•çº¿çš„网格返回的格å¼æ˜¯ [code]3[/code],因为 [constant ArrayMesh."
+"ARRAY_FORMAT_VERTEX] 是 [code]1[/code] 而 [constant ArrayMesh."
+"ARRAY_FORMAT_NORMAL] 是 [code]2[/code]。\n"
+"æ ¼å¼æ ‡å¿—åˆ—è¡¨è§ [enum ArrayMesh.ArrayFormat]。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the material assigned to the [Mesh]."
-msgstr "返回分é…ç»™ [Mesh] çš„æ质。"
+msgstr "返回分é…给该 [Mesh] çš„æ质。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the vertex at given index."
@@ -43672,7 +43767,7 @@ msgstr "返回给定索引处的顶点。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the bones of the given vertex."
-msgstr "返回给定顶点的骨架。"
+msgstr "返回给定顶点的骨骼。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the color of the given vertex."
@@ -43700,7 +43795,7 @@ msgstr "返回给定顶点的法线。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the tangent of the given vertex."
-msgstr "返回给定顶点的正切值。"
+msgstr "返回给定顶点的切线。"
#: doc/classes/MeshDataTool.xml
msgid "Returns the UV of the given vertex."
@@ -43732,7 +43827,7 @@ msgstr "设置给定顶点的ä½ç½®ã€‚"
#: doc/classes/MeshDataTool.xml
msgid "Sets the bones of the given vertex."
-msgstr "设置给定顶点的骨架。"
+msgstr "设置给定顶点的骨骼。"
#: doc/classes/MeshDataTool.xml
msgid "Sets the color of the given vertex."
@@ -43805,7 +43900,7 @@ msgid ""
"calculated from the mesh geometry. It's mainly used for testing."
msgstr ""
"这个辅助工具创建 [MeshInstance] å­èŠ‚点,在æ¯ä¸ªé¡¶ç‚¹éƒ½æœ‰æ ¹æ®ç½‘格几何形状计算的"
-"辅助线框。其主è¦ç”¨äºŽæµ‹è¯•ã€‚"
+"å°å·¥å…·ã€‚其主è¦ç”¨äºŽæµ‹è¯•ã€‚"
#: doc/classes/MeshInstance.xml
msgid ""
@@ -43954,7 +44049,7 @@ msgstr ""
#: doc/classes/MeshInstance2D.xml
msgid "The [Mesh] that will be drawn by the [MeshInstance2D]."
-msgstr "[Mesh] 将由 [MeshInstance2D] 绘制。"
+msgstr "该 [MeshInstance2D] 绘制的 [Mesh]。"
#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml
msgid ""
@@ -44009,15 +44104,15 @@ msgstr ""
#: doc/classes/MeshLibrary.xml
msgid "Returns the first item with the given name."
-msgstr "返回第一个指定å称的 item。"
+msgstr "返回第一个具有指定å称的项。"
#: doc/classes/MeshLibrary.xml
msgid "Returns the list of item IDs in use."
-msgstr "返回正在使用的 item id 列表。"
+msgstr "返回正在使用的项目 ID 列表。"
#: doc/classes/MeshLibrary.xml
msgid "Returns the item's mesh."
-msgstr "返回该 item 的网格模型。"
+msgstr "返回该项目的网格。"
#: doc/classes/MeshLibrary.xml
msgid "Returns the transform applied to the item's mesh."
@@ -44025,7 +44120,7 @@ msgstr "返回应用到项目网格的å˜æ¢ã€‚"
#: doc/classes/MeshLibrary.xml
msgid "Returns the item's name."
-msgstr "返回项的å称。"
+msgstr "返回该项的å称。"
#: doc/classes/MeshLibrary.xml
msgid "Returns the item's navigation mesh."
@@ -44082,7 +44177,7 @@ msgstr ""
#: doc/classes/MeshLibrary.xml
msgid "Sets the item's navigation mesh."
-msgstr "设置此项的导航网格。"
+msgstr "设置该项的导航网格。"
#: doc/classes/MeshLibrary.xml
msgid "Sets the transform to apply to the item's navigation mesh."
@@ -44117,7 +44212,7 @@ msgstr ""
#: doc/classes/MeshTexture.xml
msgid "Sets the base texture that the Mesh will use to draw."
-msgstr "设置网格用æ¥ç»˜åˆ¶çš„基础纹ç†ã€‚"
+msgstr "设置该 Mesh 用æ¥ç»˜åˆ¶çš„基础纹ç†ã€‚"
#: doc/classes/MeshTexture.xml
msgid "Sets the size of the image, needed for reference."
@@ -44211,7 +44306,7 @@ msgstr "显示器与设备内部镜片之间的è·ç¦»ï¼Œå•ä½ä¸ºåŽ˜ç±³ã€‚"
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml
msgid "The width of the display in centimeters."
-msgstr "显示器的宽度,以厘米为å•ä½ã€‚"
+msgstr "显示器的宽度,å•ä½ä¸ºåŽ˜ç±³ã€‚"
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml
msgid ""
@@ -44244,7 +44339,7 @@ msgid ""
"performance."
msgstr ""
"过采样设置。由于镜头失真,我们必须以比å±å¹•è‡ªç„¶åˆ†è¾¨çŽ‡æ›´é«˜çš„è´¨é‡æ¸²æŸ“我们的缓冲"
-"区。介于1.5å’Œ2.0之间的值通常å¯ä»¥æ供良好的结果,但会牺牲性能。"
+"区。介于 1.5 å’Œ 2.0 之间的值通常å¯ä»¥æ供良好的结果,但会牺牲性能。"
#: doc/classes/MultiMesh.xml
msgid "Provides high-performance mesh instancing."
@@ -44281,7 +44376,7 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid "Gets a specific instance's color."
-msgstr "获å–一个特定实例的颜色。"
+msgstr "获å–特定实例的颜色。"
#: doc/classes/MultiMesh.xml
msgid "Returns the custom data that has been set for a specific instance."
@@ -44289,7 +44384,7 @@ msgstr "返回已ç»ä¸ºç‰¹å®šå®žä¾‹è®¾ç½®çš„自定义数æ®ã€‚"
#: doc/classes/MultiMesh.xml
msgid "Returns the [Transform] of a specific instance."
-msgstr "返回一个特定实例的 [Transform]。"
+msgstr "返回特定实例的 [Transform]。"
#: doc/classes/MultiMesh.xml
msgid "Returns the [Transform2D] of a specific instance."
@@ -44423,7 +44518,7 @@ msgid ""
"Limits the number of instances drawn, -1 draws all instances. Changing this "
"does not change the sizes of the buffers."
msgstr ""
-"é™åˆ¶ç»˜åˆ¶çš„实例数é‡ï¼Œ-1会绘制所有的实例。改å˜è¿™ä¸€ç‚¹å¹¶ä¸æ”¹å˜ç¼“冲区的大å°ã€‚"
+"é™åˆ¶ç»˜åˆ¶çš„实例数é‡ï¼Œ-1 会绘制所有的实例。改å˜è¿™ä¸€ç‚¹å¹¶ä¸æ”¹å˜ç¼“冲区的大å°ã€‚"
#: doc/classes/MultiMesh.xml
msgid "Use this when using 2D transforms."
@@ -44501,7 +44596,7 @@ msgid ""
msgstr ""
"[MultiMeshInstance] 是特有的节点,用于基于 [MultiMesh] 资æºçš„ "
"[GeometryInstance] 的实例。\n"
-"这对于优化给定网格的大é‡å®žä¾‹çš„渲染是éžå¸¸æœ‰ç”¨çš„(例如,森林中的树木或è‰ä¸›ï¼‰ã€‚"
+"这对于优化给定网格的大é‡å®žä¾‹çš„渲染是éžå¸¸æœ‰ç”¨çš„(例如森林中的树木或è‰ä¸›ï¼‰ã€‚"
#: doc/classes/MultiMeshInstance.xml
msgid ""
@@ -45452,6 +45547,7 @@ msgid "3D agent used in navigation for collision avoidance."
msgstr "在导航中用于防撞的 3D 代ç†ã€‚"
#: doc/classes/NavigationAgent.xml
+#, fuzzy
msgid ""
"3D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -45465,7 +45561,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
"导航中使用的 3D 代ç†ï¼Œå¯ä»¥åœ¨å‰å¾€æŸä¸ªä½ç½®æ—¶èº²é¿é™æ€å’ŒåŠ¨æ€éšœç¢ç‰©ã€‚躲é¿åŠ¨æ€éšœç¢"
"物使用的是 RVO(Reciprocal Velocity Obstacles,相对速度障ç¢ç‰©ï¼‰é˜²æ’žç®—法。代ç†"
@@ -45768,6 +45867,7 @@ msgid "2D agent used in navigation for collision avoidance."
msgstr "在导航中用于防撞的 2D 代ç†ã€‚"
#: doc/classes/NavigationAgent2D.xml
+#, fuzzy
msgid ""
"2D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -45781,7 +45881,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
"导航中使用的 2D 代ç†ï¼Œå¯ä»¥åœ¨å‰å¾€æŸä¸ªä½ç½®æ—¶èº²é¿é™æ€å’ŒåŠ¨æ€éšœç¢ç‰©ã€‚躲é¿åŠ¨æ€éšœç¢"
"物使用的是 RVO(Reciprocal Velocity Obstacles,相对速度障ç¢ç‰©ï¼‰é˜²æ’žç®—法。代ç†"
@@ -46660,6 +46763,7 @@ msgid "Server interface for low-level 3D navigation access."
msgstr "访问底层 3D 导航的æœåŠ¡å™¨æŽ¥å£ã€‚"
#: doc/classes/NavigationServer.xml
+#, fuzzy
msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
@@ -46680,6 +46784,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -46899,19 +47006,19 @@ msgid ""
"code] is specified, the client will also listen to the given port; this is "
"useful for some NAT traversal techniques."
msgstr ""
-"创建客户端,使用指定的[code]端å£[/code]连接到[code]地å€[/code]çš„æœåŠ¡å™¨ä¸Šã€‚ç»™"
-"定的地å€éœ€è¦æ˜¯ä¸€ä¸ªå®Œå…¨åˆæ ¼çš„域å(例如,[code]\"www.example.com\"[/code])或"
-"一个IPv4或IPv6æ ¼å¼çš„IP地å€ï¼ˆä¾‹å¦‚,[code]\"192.168.1.1\"[/code])。"
-"[code]port[/code]是æœåŠ¡å™¨æ‰€ç›‘å¬çš„端å£ã€‚[code]in_bandwidth[/code]å’Œ"
-"[code]out_bandwidth[/code]å‚æ•°å¯ç”¨äºŽå°†ä¼ å…¥å’Œä¼ å‡ºçš„带宽é™åˆ¶åœ¨ç»™å®šçš„字节数/秒。"
-"默认的0æ„味ç€æ— é™çš„带宽。请注æ„,ENet会在对等体之间连接的特定一侧战略性地丢弃"
-"æ•°æ®åŒ…,以确ä¿å¯¹ç­‰ä½“的带宽ä¸è¢«æ·¹æ²¡ã€‚带宽å‚数也决定了连接的窗å£å¤§å°ï¼Œå®ƒé™åˆ¶äº†"
-"在任何给定时间内å¯èƒ½æ­£åœ¨ä¼ è¾“çš„å¯é æ•°æ®åŒ…çš„æ•°é‡ã€‚如果创建了一个客户端,返回"
-"[constant OK];如果这个NetworkedMultiplayerENet实例已ç»æœ‰ä¸€ä¸ªå¼€æ”¾çš„连接(在这"
-"ç§æƒ…况下,你需è¦å…ˆè°ƒç”¨[method close_connection]),返回[constant "
-"ERR_CANT_CREATE];如果ä¸èƒ½åˆ›å»ºå®¢æˆ·ç«¯ï¼Œè¿”回[constant ERR_CANT_CREATE]。如果指"
-"定了[code]client_port[/code],客户端也将监å¬ç»™å®šçš„端å£ï¼›è¿™å¯¹ä¸€äº›NAT穿越技术很"
-"有用。"
+"创建客户端,使用指定的 [code]port[/code]连接到[code]address[/code]çš„æœåŠ¡å™¨"
+"上。给定的地å€éœ€è¦æ˜¯ä¸€ä¸ªå®Œå…¨åˆæ ¼çš„域å(例如 [code]\"www.example.com\"[/"
+"code])或一个 IPv4 或 IPv6 æ ¼å¼çš„ IP 地å€ï¼ˆä¾‹å¦‚ [code]\"192.168.1.1\"[/"
+"code])。[code]port[/code] 是æœåŠ¡å™¨æ‰€ç›‘å¬çš„端å£ã€‚[code]in_bandwidth[/code] "
+"å’Œ [code]out_bandwidth[/code] å‚æ•°å¯ç”¨äºŽå°†ä¼ å…¥å’Œä¼ å‡ºçš„带宽é™åˆ¶åœ¨ç»™å®šçš„字节数/"
+"秒。默认的 0 æ„味ç€æ— é™çš„带宽。请注æ„,ENet 会在对等体之间连接的特定一侧战略"
+"性地丢弃数æ®åŒ…,以确ä¿å¯¹ç­‰ä½“的带宽ä¸è¢«æ·¹æ²¡ã€‚带宽å‚数也决定了连接的窗å£å¤§å°ï¼Œ"
+"它é™åˆ¶äº†åœ¨ä»»ä½•ç»™å®šæ—¶é—´å†…å¯èƒ½æ­£åœ¨ä¼ è¾“çš„å¯é æ•°æ®åŒ…çš„æ•°é‡ã€‚如果创建了一个客户"
+"端,返回 [constant OK];如果这个 NetworkedMultiplayerENet 实例已ç»æœ‰ä¸€ä¸ªå¼€æ”¾"
+"的连接(在这ç§æƒ…况下,你需è¦å…ˆè°ƒç”¨ [method close_connection]),返回 "
+"[constant ERR_CANT_CREATE];如果ä¸èƒ½åˆ›å»ºå®¢æˆ·ç«¯ï¼Œåˆ™è¿”回 [constant "
+"ERR_CANT_CREATE]。如果指定了 [code]client_port[/code],客户端也将监å¬ç»™å®šçš„端"
+"å£ï¼›è¿™å¯¹ä¸€äº› NAT 穿越技术很有用。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -46930,16 +47037,16 @@ msgid ""
"case you need to call [method close_connection] first) or [constant "
"ERR_CANT_CREATE] if the server could not be created."
msgstr ""
-"创建æœåŠ¡å™¨ï¼Œé€šè¿‡[code]port[/code]监å¬è¿žæŽ¥ã€‚该端å£éœ€è¦æ˜¯ä¸€ä¸ªå¯ç”¨çš„ã€æœªä½¿ç”¨çš„端"
-"å£ï¼Œåœ¨0到65535之间。注æ„,低于1024的端å£æ˜¯ç‰¹æƒç«¯å£ï¼Œæ ¹æ®å¹³å°çš„ä¸åŒå¯èƒ½éœ€è¦æ"
-"高æƒé™ã€‚è¦æ”¹å˜æœåŠ¡å™¨ç›‘å¬çš„接å£ï¼Œè¯·ä½¿ç”¨[method set_bind_ip]。默认IP是通é…符"
-"[code]\"*\"[/code],它监å¬æ‰€æœ‰å¯ç”¨çš„接å£ã€‚[code]max_clients[/code]是å…许åŒæ—¶"
-"进行的最大客户数,å¯ä»¥ä½¿ç”¨ä»»ä½•æ•°å­—,最高å¯è¾¾4095,尽管å¯å®žçŽ°çš„åŒæ—¶è¿›è¡Œçš„客户"
-"æ•°å¯èƒ½è¦ä½Žå¾—多,并且å–决于应用。关于带宽å‚数的其他细节,è§[method "
-"create_client]。如果æœåŠ¡å™¨è¢«åˆ›å»ºï¼Œè¿”回[constant OK];如果这个"
-"NetworkedMultiplayerENet实例已ç»æœ‰ä¸€ä¸ªå¼€æ”¾çš„连接(在这ç§æƒ…况下,你需è¦å…ˆè°ƒç”¨"
-"[method close_connection]),返回[constant ERR_CANT_CREATE];如果æœåŠ¡å™¨ä¸èƒ½è¢«"
-"创建,返回[constant ERR_CANT_CREATE]。"
+"创建æœåŠ¡å™¨ï¼Œé€šè¿‡ [code]port[/code] 监å¬è¿žæŽ¥ã€‚该端å£éœ€è¦æ˜¯ä¸€ä¸ªå¯ç”¨çš„ã€æœªä½¿ç”¨çš„"
+"端å£ï¼Œåœ¨ 0 到 65535 之间。注æ„,低于 1024 的端å£æ˜¯ç‰¹æƒç«¯å£ï¼Œæ ¹æ®å¹³å°çš„ä¸åŒå¯"
+"能需è¦æ高æƒé™ã€‚è¦æ”¹å˜æœåŠ¡å™¨ç›‘å¬çš„接å£ï¼Œè¯·ä½¿ç”¨ [method set_bind_ip]。默认 IP "
+"是通é…符 [code]\"*\"[/code],会监å¬æ‰€æœ‰å¯ç”¨çš„接å£ã€‚[code]max_clients[/code] "
+"是å…许åŒæ—¶è¿›è¡Œçš„最大客户数,å¯ä»¥ä½¿ç”¨ä»»ä½•æ•°å­—,最高å¯è¾¾ 4095,尽管å¯å®žçŽ°çš„åŒæ—¶"
+"进行的客户数å¯èƒ½è¦ä½Žå¾—多,并且å–决于应用。关于带宽å‚æ•°çš„å…¶ä»–ç»†èŠ‚ï¼Œè§ [method "
+"create_client]。如果æœåŠ¡å™¨è¢«åˆ›å»ºï¼Œåˆ™è¿”回 [constant OK];如果这个 "
+"NetworkedMultiplayerENet 实例已ç»æœ‰ä¸€ä¸ªå¼€æ”¾çš„连接(在这ç§æƒ…况下,你需è¦å…ˆè°ƒ"
+"用 [method close_connection]),则返回 [constant ERR_CANT_CREATE];如果æœåŠ¡å™¨"
+"ä¸èƒ½è¢«åˆ›å»ºï¼Œåˆ™è¿”回 [constant ERR_CANT_CREATE]。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -50429,7 +50536,7 @@ msgstr ""
"[OccluderShape] 是 [Occluder] 节点所使用的资æºï¼Œç”¨äºŽå‡ ä½•é®æŒ¡å‰”除。\n"
"该多边形必须是凸多边形。多边形顶点的创建与删除å¯ä»¥åœ¨ç¼–辑器的检查器中进行,也"
"å¯ä»¥é€šè¿‡è°ƒç”¨ [code]set_polygon_points[/code] 实现。æ¯ä¸€æ¡è¾¹çš„顶点都å¯ä»¥é€šè¿‡åœ¨"
-"编辑器视窗中拖拽å¥æŸ„设置。\n"
+"编辑器视窗中拖拽手柄设置。\n"
"å¦å¤–,æ¯ä¸€ä¸ªå¤šè¾¹å½¢é®æŒ¡å™¨éƒ½å¯ä»¥æ”¯æŒå•ä¸ªç©ºæ´žã€‚如果你在编辑器的检查器中为空洞添"
"加至少三个顶点,就å¯ä»¥åœ¨ç¼–辑器视窗中拖拽空洞边缘顶点的å¥æŸ„。\n"
"一般而言,多边形以åŠç©ºæ´žçš„边数越少,è¿è¡Œæ—¶ç³»ç»Ÿçš„处ç†é€Ÿåº¦å°±è¶Šå¿«ï¼Œæ‰€ä»¥åœ¨å¤§å¤šæ•°"
@@ -50525,11 +50632,14 @@ msgstr ""
"光的衰å‡ï¼ˆä¸‹é™ï¼‰æ›²çº¿ã€‚在[b]检查器[/b]中,通过å³é”®ç‚¹å‡»æ›²çº¿ï¼Œå¯ä»¥èŽ·å¾—许多预设。"
#: doc/classes/OmniLight.xml
+#, fuzzy
msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
"光的åŠå¾„。请注æ„,有效的照明区域å¯èƒ½çœ‹èµ·æ¥æ›´å°ï¼Œè¿™å–决于使用的 [member "
"omni_attenuation]ã€‚æ— è®ºä½¿ç”¨ä½•ç§ [member omni_attenuation],光线都ä¸ä¼šåˆ°è¾¾è¿™ä¸ª"
@@ -51187,13 +51297,14 @@ msgid "Returns the audio driver name for the given index."
msgstr "返回给定索引的音频驱动程åºå称。"
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -51251,13 +51362,14 @@ msgstr ""
"[/codeblock]"
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -51286,13 +51398,14 @@ msgid ""
msgstr "返回当å‰ä½¿ç”¨çš„视频驱动程åºï¼Œä½¿ç”¨[enum VideoDriver]中的一个值。"
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -53747,6 +53860,17 @@ msgid "Particle systems (2D)"
msgstr "ç²’å­ç³»ç»Ÿï¼ˆ2D)"
#: doc/classes/Particles2D.xml
+#, fuzzy
+msgid "2D Particles Demo"
+msgstr "2D å¹³å°è·³è·ƒæ¼”示"
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr "返回一个包å«æ‰€æœ‰çŽ°å­˜ç²’å­ä½ç½®çš„矩形。"
@@ -58864,7 +58988,7 @@ msgid ""
"visual size by using the gizmo in the 2D editor while the node is selected."
msgstr ""
"用于编辑的通用 2D ä½ç½®æ示。它就åƒä¸€ä¸ªæ™®é€šçš„ [Node2D],但它在 2D 编辑器中始终"
-"显示为一个å字。选择节点时,å¯ä»¥ä½¿ç”¨ 2D 编辑器中的å°æŽ§ä»¶æ¥è®¾ç½®å字的视觉大"
+"显示为一个å字。选中节点时,å¯ä»¥ä½¿ç”¨ 2D 编辑器中的å°å·¥å…·æ¥è®¾ç½®å字的视觉大"
"å°ã€‚"
#: doc/classes/Position3D.xml
@@ -61824,7 +61948,7 @@ msgid ""
"Physics2DServer.AREA_PARAM_GRAVITY, 98)\n"
"[/codeblock]"
msgstr ""
-"2D 中默认的é‡åŠ›å¼ºåº¦ï¼ˆå•ä½ï¼šæ¯ç§’平方åƒç´ ï¼‰ã€‚\n"
+"2D 中默认的é‡åŠ›å¼ºåº¦ï¼ˆå•ä½ä¸ºåƒç´ æ¯ç§’的平方)。\n"
"[b]注æ„:[/b]这个属性åªåœ¨é¡¹ç›®å¯åŠ¨æ—¶è¢«è¯»å–。è¦åœ¨è¿è¡Œæ—¶æ”¹å˜é»˜è®¤çš„é‡åŠ›ï¼Œè¯·ä½¿ç”¨ä»¥"
"下代ç ç¤ºä¾‹ï¼š\n"
"[codeblock]\n"
@@ -61980,7 +62104,7 @@ msgid ""
"PhysicsServer.AREA_PARAM_GRAVITY, 9.8)\n"
"[/codeblock]"
msgstr ""
-"3D 中的默认é‡åŠ›å¼ºåº¦ï¼Œå•ä½ï¼šç±³/秒平方。\n"
+"3D 中的默认é‡åŠ›å¼ºåº¦ï¼ˆå•ä½ä¸ºç±³æ¯ç§’的平方)。\n"
"[b]注æ„:[/b]该属性仅在项目å¯åŠ¨æ—¶è¯»å–。è¦åœ¨è¿è¡Œæ—¶æ›´æ”¹é»˜è®¤é‡åŠ›ï¼Œè¯·ä½¿ç”¨ä»¥ä¸‹ä»£ç "
"示例:\n"
"[codeblock]\n"
@@ -63080,17 +63204,25 @@ msgstr ""
"的值通常会给出最好的结果。å¦è§ [member rendering/quality/filters/use_fxaa]。"
#: doc/classes/ProjectSettings.xml
+#, fuzzy
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
"如果为 [code]true[/code],则使用快速åŽå¤„ç†è¿‡æ»¤å™¨ä½¿æ¡å¸¦æ˜Žæ˜¾ä¸é‚£ä¹ˆæ˜Žæ˜¾ã€‚在æŸäº›"
"情况下,去带å¯èƒ½ä¼šå¼•å…¥ç¨å¾®æ˜Žæ˜¾çš„抖动模å¼ã€‚建议仅在实际需è¦æ—¶å¯ç”¨åŽ»æ¡å¸¦ï¼Œå› ä¸º"
@@ -65231,33 +65363,45 @@ msgstr "返回此对象是å¦åˆ†é…了有效的æœç´¢æ¨¡å¼ã€‚"
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
-"在文本中æœç´¢ç¼–译åŽçš„模å¼ã€‚如果找到,返回第一个匹é…结果的 [RegExMatch] 容器,"
-"å¦åˆ™è¿”回 [code]null[/code]。å¯ä»¥æŒ‡å®šè¦æœç´¢çš„区域,而ä¸éœ€è¦ä¿®æ”¹å¼€å§‹å’Œç»“æŸé”šç‚¹"
-"çš„ä½ç½®ã€‚"
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
-"在文本中æœç´¢ç¼–译过的模å¼ã€‚为æ¯ä¸ªä¸é‡å çš„结果返回一个 [RegExMatch] 容器数组。"
-"如果没有å‘现任何结果,则返回一个空数组。å¯ä»¥æŒ‡å®šè¦æœç´¢çš„区域,而ä¸éœ€è¦ä¿®æ”¹å¼€"
-"始和结æŸé”šç‚¹çš„ä½ç½®ã€‚"
#: modules/regex/doc_classes/RegEx.xml
+#, fuzzy
msgid ""
"Searches the text for the compiled pattern and replaces it with the "
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
"æœç´¢æ–‡æœ¬ä¸­çš„编译模å¼ï¼Œå¹¶å°†å…¶æ›¿æ¢ä¸ºæŒ‡å®šçš„字符串。诸如 [code]$1[/code] å’Œ "
"[code]$name[/code] 等转义和åå‘引用会被展开和解决。默认情况下,åªæœ‰ç¬¬ä¸€ä¸ªå®žä¾‹"
@@ -67799,7 +67943,6 @@ msgstr ""
"以é¿å…混淆。有关 portal 模å¼çš„完整说明,请å‚阅 [CullInstance]。"
#: doc/classes/RoomManager.xml
-#, fuzzy
msgid ""
"Switches the portal culling system on and off.\n"
"It is important to note that when portal culling is active, it is "
@@ -67814,11 +67957,13 @@ msgid ""
"[VisualInstance] are expected to show when the system is active."
msgstr ""
"打开和关闭入å£å‰”除系统。\n"
-"需è¦æ³¨æ„的是,当入å£å‰”除处于活动状æ€æ—¶ï¼Œå®ƒè´Ÿè´£[b]所有[/b] 3d 剔除。æŸäº›ç¼–辑器"
-"功能å¯èƒ½æ›´éš¾ä½¿ç”¨ï¼Œå› æ­¤åˆ‡æ¢æ´»åŠ¨æ ‡å¿—旨在确ä¿æ‚¨çš„ [Room] / [Portal] 布局在编辑器"
-"中工作。\n"
+"需è¦æ³¨æ„的是,当入å£å‰”除处于活动状æ€æ—¶ï¼Œå®ƒè´Ÿè´£è¿›è¡Œ[b]所有[/b] 3d 剔除。活动状"
+"æ€ä¸‹ï¼Œå¯èƒ½æ— æ³•ä½¿ç”¨ç¼–辑器中的部分å¯è§†åŒ–调试工具,因此活动标志的开关的目的åªæ˜¯"
+"ç¡®ä¿æ‚¨çš„ [Room] / [Portal] 布局在编辑器中能够正常工作。\n"
"当 [code]room graph[/code] 被å¸è½½ï¼ˆç©ºé—´å°šæœªè½¬æ¢ï¼‰æ—¶ï¼Œåˆ‡æ¢åˆ° [code]active[/"
-"code] å°†ä¸èµ·ä½œç”¨ã€‚"
+"code] å°†ä¸èµ·ä½œç”¨ã€‚\n"
+"[b]注æ„:[/b]出于效率的考虑,入å£ç³»ç»Ÿåœ¨è®¾è®¡æ—¶åªè€ƒè™‘了核心å¯è§†å¯¹è±¡ç±»åž‹ã€‚具体æ¥"
+"说,就是åªæœ‰ç»§æ‰¿è‡ª [VisualInstance] 的节点æ‰ä¼šåœ¨è¯¥ç³»ç»Ÿå¯ç”¨æ—¶æ˜¾ç¤ºã€‚"
#: doc/classes/RoomManager.xml
msgid ""
@@ -67999,7 +68144,7 @@ msgstr ""
#: doc/classes/RoomManager.xml
msgid "Shows the [Portal] margins when the portal gizmo is used in the editor."
-msgstr "当在编辑器中使用入å£å·¥å…·æ—¶ï¼Œæ˜¾ç¤º [Portal] 的边界。"
+msgstr "当在编辑器中使用入å£å°å·¥å…·æ—¶ï¼Œæ˜¾ç¤º [Portal] 的边界。"
#: doc/classes/RoomManager.xml
msgid ""
@@ -68834,8 +68979,12 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr "对组进行调用时,立å³æ‰§è¡Œï¼ˆæ­£å¸¸æƒ…况下是在空闲时调用的)。"
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
-msgstr "对组进行调用时,å³ä¾¿æ‰§è¡Œäº†å¤šæ¬¡è°ƒç”¨ä¹Ÿåªè°ƒç”¨ä¸€æ¬¡ã€‚"
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
+msgstr ""
#: doc/classes/SceneTree.xml
msgid "No stretching."
@@ -68928,7 +69077,6 @@ msgid ""
msgstr "通过脚本进行通用动画的轻é‡çº§å¯¹è±¡ï¼Œä½¿ç”¨ [Tweener]。"
#: doc/classes/SceneTreeTween.xml
-#, fuzzy
msgid ""
"[SceneTreeTween] is a tween managed by the scene tree. As opposed to "
"[Tween], it does not require the instantiation of a node.\n"
@@ -69065,6 +69213,16 @@ msgstr ""
" tween.tween_property(sprite, \"position\", Vector2(0, 0), 1)\n"
"[/codeblock]\n"
"上é¢çš„示例中,该节点的所有å­èŠ‚点都会ä¾æ¬¡è¢«ç§»åŠ¨åˆ° (0, 0)。\n"
+"你应该é¿å…在对象的åŒä¸€ä¸ªå±žæ€§ä¸Šä½¿ç”¨å¤šä¸ª [SceneTreeTween]。如果对æŸä¸ªå±žæ€§åŒæ—¶è¿›"
+"行两个或者更多的补间动画,会优先使用最åŽåˆ›å»ºçš„那个设置最终的值。如果你想è¦ä¸­"
+"断并é‡å¯åŠ¨ç”»ï¼Œè¯·è€ƒè™‘将该 [SceneTreeTween] 赋给å˜é‡ï¼š\n"
+"[codeblock]\n"
+"var tween\n"
+"func animate():\n"
+" if tween:\n"
+" tween.kill() # 终止之å‰çš„补间动画。\n"
+" tween = create_tween()\n"
+"[/codeblock]\n"
"一些 [Tweener] 会用到过渡和缓动。å‰è€…æŽ¥å— [enum Tween.TransitionType] 常é‡ï¼Œ"
"指的是如何处ç†è¯¥åŠ¨ç”»çš„æ—¶é—´ï¼ˆç¤ºä¾‹è§ [url=https://easings.net/]easings.net[/"
"url])。第二个接å—的是 [enum Tween.EaseType] 常é‡ï¼ŒæŽ§åˆ¶ [code]trans_type[/"
@@ -69074,7 +69232,10 @@ msgstr ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"tween_cheatsheet.png]补间缓动与过渡类型速查表[/url]\n"
"[b]注æ„:[/b]所有 [SceneTreeTween] 都默认会自动å¯åŠ¨ã€‚如果è¦é˜»æ­¢æŸä¸ª "
-"[SceneTreeTween] 自动å¯åŠ¨ï¼Œä½ å¯ä»¥åœ¨åˆ›å»ºåŽç«‹å³è°ƒç”¨ [method stop]。"
+"[SceneTreeTween] 自动å¯åŠ¨ï¼Œä½ å¯ä»¥åœ¨åˆ›å»ºåŽç«‹å³è°ƒç”¨ [method stop]。\n"
+"[b]注æ„:[/b][SceneTreeTween] 的处ç†æ—¶æœºåœ¨å½“å‰å¸§çš„所有节点之åŽï¼Œå³åœ¨ [method "
+"Node._process] 或 [method Node._physics_process] 之åŽï¼ˆå–决于 [enum Tween."
+"TweenProcessMode])。"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -70806,9 +70967,9 @@ msgid ""
"the optional [code]attachment_path[/code] can define a [Spatial] the pinned "
"vertex will be attached to."
msgstr ""
-"设置表é¢é¡¶ç‚¹çš„固定状æ€ã€‚当设置为 [code]true[/code] 时,å¯é€‰çš„"
-"[code]attachment_path[/code]å¯ä»¥å®šä¹‰ä¸€ä¸ªç©ºé—´[Spatial],被固定的顶点将连接到这"
-"个空间。"
+"设置表é¢é¡¶ç‚¹çš„固定状æ€ã€‚当设置为 [code]true[/code] 时,å¯é€‰çš„ "
+"[code]attachment_path[/code] å¯ä»¥å®šä¹‰ä¸€ä¸ª [Spatial],被固定的顶点将连接到这个"
+"节点。"
#: doc/classes/SoftBody.xml
msgid ""
@@ -71114,7 +71275,7 @@ msgid ""
"editor context and it has a valid gizmo."
msgstr ""
"设置节点是å¦é€šçŸ¥å…¶å…¨å±€å’Œå±€éƒ¨å˜æ¢çš„å˜åŒ–。[Spatial] 默认情况下ä¸ä¼šä¼ æ’­ï¼Œé™¤éžæ˜¯"
-"在编辑器上下文中,并且它有一个有效的控制器。"
+"在编辑器上下文中,并且它有一个有效的å°å·¥å…·ã€‚"
#: doc/classes/Spatial.xml
msgid ""
@@ -71219,12 +71380,15 @@ msgid ""
msgstr "旋转部分局部å˜æ¢ä¸ºåº¦ï¼ŒæŒ‰ YXZ-Euler 角格å¼æŒ‡å®šï¼ˆX 角ã€Y 角ã€Z 角)。"
#: doc/classes/Spatial.xml
+#, fuzzy
msgid ""
"Scale part of the local transformation.\n"
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
"局部å˜æ¢çš„缩放部分。\n"
"[b]注æ„:[/b]3D 中,å˜æ¢çŸ©é˜µæ˜¯æ— æ³•åˆ†è§£å‡ºæ­£è´Ÿæ··åˆçš„缩放的。由于 Godot 中使用å˜"
@@ -71273,39 +71437,41 @@ msgid ""
"need to ask for it, with [method set_notify_transform]. The notification is "
"also sent if the node is in the editor context and it has a valid gizmo."
msgstr ""
-"当空间节点的全局å˜æ¢å‘生å˜åŒ–时,空间节点会收到这个通知。这æ„味ç€å½“å‰èŠ‚点或父"
-"节点改å˜äº†å®ƒçš„å˜æ¢ã€‚\n"
+"当 Spatial 节点的全局å˜æ¢å‘生å˜åŒ–时会收到这个通知。这æ„味ç€å½“å‰èŠ‚点或父节点改"
+"å˜äº†å®ƒçš„å˜æ¢ã€‚\n"
"为了使 [constant NOTIFICATION_TRANSFORM_CHANGED] 生效,用户首先需è¦ç”¨ "
"[method set_notify_transform] å‘é€è¯·æ±‚。如果节点是在编辑器的上下文中,并且它"
-"有一个有效的控制器(Gizmo),那么该通知也会被å‘é€ã€‚"
+"有一个有效的å°å·¥å…·ï¼Œé‚£ä¹ˆè¯¥é€šçŸ¥ä¹Ÿä¼šè¢«å‘é€ã€‚"
#: doc/classes/Spatial.xml
msgid ""
"Spatial nodes receives this notification when they are registered to new "
"[World] resource."
-msgstr "空间节点在注册到新的 [World] 资æºæ—¶ä¼šæ”¶åˆ°æ­¤é€šçŸ¥ã€‚"
+msgstr "Spatial 节点在注册到新的 [World] 资æºæ—¶ä¼šæ”¶åˆ°æ­¤é€šçŸ¥ã€‚"
#: doc/classes/Spatial.xml
msgid ""
"Spatial nodes receives this notification when they are unregistered from "
"current [World] resource."
-msgstr "当空间节点从当å‰çš„ [World] 资æºä¸­å–消注册时,它们会收到此通知。"
+msgstr "当 Spatial 节点从当å‰çš„ [World] 资æºä¸­å–消注册时,它们会收到此通知。"
#: doc/classes/Spatial.xml
msgid "Spatial nodes receives this notification when their visibility changes."
-msgstr "空间节点在其å¯è§æ€§å‘生å˜åŒ–时会收到此通知。"
+msgstr "Spatial 节点在其å¯è§æ€§å‘生å˜åŒ–时会收到此通知。"
#: doc/classes/Spatial.xml
msgid ""
"Spatial nodes receives this notification if the portal system gameplay "
"monitor detects they have entered the gameplay area."
-msgstr "如果入å£ç³»ç»Ÿæ¸¸æˆç›‘视器检测到它们已进入游æˆåŒºåŸŸï¼Œç©ºé—´èŠ‚点会收到此通知。"
+msgstr ""
+"如果入å£ç³»ç»Ÿæ¸¸æˆç›‘视器检测到它们已进入游æˆåŒºåŸŸï¼ŒSpatial 节点会收到此通知。"
#: doc/classes/Spatial.xml
msgid ""
"Spatial nodes receives this notification if the portal system gameplay "
"monitor detects they have exited the gameplay area."
-msgstr "如果入å£ç³»ç»Ÿæ¸¸æˆç›‘视器检测到它们已退出游æˆåŒºåŸŸï¼Œç©ºé—´èŠ‚点会收到此通知。"
+msgstr ""
+"如果入å£ç³»ç»Ÿæ¸¸æˆç›‘视器检测到它们已退出游æˆåŒºåŸŸï¼ŒSpatial 节点会收到此通知。"
#: doc/classes/SpatialMaterial.xml
msgid "Default 3D rendering material."
@@ -72867,8 +73033,11 @@ msgstr ""
"max_lights_per_object],以ç€è‰²å™¨ç¼–译时间为代价。"
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
-msgstr "èšå…‰ç¯çš„角度,å•ä½æ˜¯åº¦ã€‚"
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
+msgstr ""
#: doc/classes/SpotLight.xml
msgid "The spotlight's angular attenuation curve."
@@ -72879,11 +73048,14 @@ msgid "The spotlight's light energy attenuation curve."
msgstr "èšå…‰ç¯çš„å…‰é‡è¡°å‡æ›²çº¿ã€‚"
#: doc/classes/SpotLight.xml
+#, fuzzy
msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
"èšå…‰ç¯å¯ä»¥è¾¾åˆ°çš„最大范围。请注æ„,根æ®ä½¿ç”¨çš„ [member spot_attenuation],有效"
"照明区域å¯èƒ½çœ‹èµ·æ¥æ›´å°ã€‚无论使用[member spot_attenuation],光都ä¸ä¼šåˆ°è¾¾æ­¤èŒƒå›´"
@@ -77961,55 +78133,49 @@ msgid "Clears all values on the theme."
msgstr "清除主题上的所有值。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears the [Color] at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"å¦‚æžœä¸»é¢˜åŒ…å« [code]node_type[/code],则清除å为 [code]name[/code] çš„ [Color]"
+"å¦‚æžœä¸»é¢˜åŒ…å« [code]theme_type[/code],则清除å为 [code]name[/code] çš„ [Color]"
"颜色。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears the constant at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"å¦‚æžœä¸»é¢˜åŒ…å« [code]node_type[/code],则清除å为 [code]name[/code] 的常é‡ã€‚"
+"å¦‚æžœä¸»é¢˜åŒ…å« [code]theme_type[/code],则清除å为 [code]name[/code] 的常é‡ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears the [Font] at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"å¦‚æžœä¸»é¢˜åŒ…å« [code]node_type[/code],则清除å为 [code]name[/code] çš„ [Font]å­—"
-"体。"
+"å¦‚æžœä¸»é¢˜åŒ…å« [code]theme_type[/code],则清除å为 [code]name[/code] çš„ [Font]"
+"字体。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears the icon at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"å¦‚æžœä¸»é¢˜åŒ…å« [code]node_type[/code],则清除å为 [code]name[/code] 的图标。"
+"å¦‚æžœä¸»é¢˜åŒ…å« [code]theme_type[/code],则清除å为 [code]name[/code] 的图标。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears [StyleBox] at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"å¦‚æžœä¸»é¢˜åŒ…å« [code]node_type[/code],则清除å为 [code]name[/code] çš„ "
+"å¦‚æžœä¸»é¢˜åŒ…å« [code]theme_type[/code],则清除å为 [code]name[/code] çš„ "
"[StyleBox]æ ·å¼ç›’。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Clears the theme item of [code]data_type[/code] at [code]name[/code] if the "
"theme has [code]theme_type[/code]."
msgstr ""
-"如果主题具有 [code]node_type[/code],则清除 [code]name[/code] 处的 "
+"如果主题具有 [code]theme_type[/code],则清除 [code]name[/code] 处的 "
"[code]data_type[/code] 主题项。"
#: doc/classes/Theme.xml
@@ -78029,21 +78195,20 @@ msgid "Sets the theme's values to a copy of a given theme."
msgstr "将主题的å–值设置为指定主题的副本。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns the [Color] at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
-msgstr "如果主题有[code]node_type[/code],返回 [code]name[/code]处的[Color]。"
+msgstr ""
+"如果主题有 [code]theme_type[/code],返回 [code]name[/code] 处的 [Color]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the [Color]s as a [PoolStringArray] filled with each [Color]'s "
"name, for use in [method get_color], if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"如果主题有[code]node_type[/code],将所有的[Color]作为[PoolStringArray]返回,"
-"并填充æ¯ä¸ª[Color]çš„å称,用于[method get_color]使用。"
+"如果主题有 [code]theme_type[/code],将所有的 [Color] 作为 [PoolStringArray] "
+"返回,并填充æ¯ä¸ª [Color] çš„å称,用于 [method get_color] 使用。"
#: doc/classes/Theme.xml
msgid ""
@@ -78054,20 +78219,18 @@ msgstr ""
"[method get_color] 和/或 [method get_color_list] 使用。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns the constant at [code]name[/code] if the theme has [code]theme_type[/"
"code]."
-msgstr "如果主题有 [code]node_type[/code],返回 [code]name[/code] 处的常é‡ã€‚"
+msgstr "如果主题有 [code]theme_type[/code],返回 [code]name[/code] 处的常é‡ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the constants as a [PoolStringArray] filled with each constant's "
"name, for use in [method get_constant], if the theme has [code]theme_type[/"
"code]."
msgstr ""
-"如果主题有 [code]node_type[/code],将所有常é‡ä½œä¸º [PoolStringArray] 返回,并"
+"如果主题有 [code]theme_type[/code],将所有常é‡ä½œä¸º [PoolStringArray] 返回,并"
"å¡«å……æ¯ä¸ªå¸¸é‡çš„å称,以供 [method get_constant] 使用。"
#: doc/classes/Theme.xml
@@ -78080,23 +78243,21 @@ msgstr ""
"get_constant]和/或[method get_constant_list]使用。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns the [Font] at [code]name[/code] if the theme has [code]theme_type[/"
"code]. If such item does not exist and [member default_font] is set on the "
"theme, the default font will be returned."
msgstr ""
-"如果主题有 [code]node_type[/code],则返回å为 [code]name[/code] çš„ [Font]。如"
-"æžœä¸å­˜åœ¨è¿™æ ·çš„项目,而该主题设置了 [member default_font],则会返回该默认字"
+"如果主题有 [code]theme_type[/code],则返回å为 [code]name[/code] çš„ [Font]。"
+"如果ä¸å­˜åœ¨è¿™æ ·çš„项目,而该主题设置了 [member default_font],则会返回该默认字"
"体。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the [Font]s as a [PoolStringArray] filled with each [Font]'s "
"name, for use in [method get_font], if the theme has [code]theme_type[/code]."
msgstr ""
-"如果主题有 [code]node_type[/code],将所有的 [Font] 作为 [PoolStringArray] 返"
+"如果主题有 [code]theme_type[/code],将所有的 [Font] 作为 [PoolStringArray] 返"
"回,并填入æ¯ä¸ª [Font] çš„å称,以供 [method get_font] 使用。"
#: doc/classes/Theme.xml
@@ -78108,21 +78269,20 @@ msgstr ""
"get_font]和/或[method get_font_list]使用。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns the icon [Texture] at [code]name[/code] if the theme has "
"[code]theme_type[/code]."
msgstr ""
-"如果主题有[code]node_type[/code],返回 [code]name[/code]处的图标[Texture]。"
+"如果主题有 [code]theme_type[/code],返回 [code]name[/code] 处的图标 "
+"[Texture]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the icons as a [PoolStringArray] filled with each [Texture]'s "
"name, for use in [method get_icon], if the theme has [code]theme_type[/code]."
msgstr ""
-"如果主题有[code]node_type[/code],则返回所有的图标为一个[PoolStringArray],并"
-"å¡«å…¥æ¯ä¸ª[Texture]çš„å称,以供[method get_icon]使用。"
+"如果主题有 [code]theme_type[/code],则返回所有的图标为一个 "
+"[PoolStringArray],并填入æ¯ä¸ª [Texture] çš„å称,以供 [method get_icon] 使用。"
#: doc/classes/Theme.xml
msgid ""
@@ -78133,7 +78293,6 @@ msgstr ""
"get_icon]和/或[method get_icon_list]使用。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns the [StyleBox] at [code]name[/code] if the theme has "
"[code]theme_type[/code].\n"
@@ -78141,12 +78300,12 @@ msgid ""
"Valid [code]theme_type[/code]s may be found using [method "
"get_stylebox_types]."
msgstr ""
-"如果主题有[code]node_type[/code],返回 [code]name[/code]处的[StyleBox]。\n"
-"å¯ä»¥ä½¿ç”¨[method get_stylebox_list]找到有效的[code]name[/code]。å¯ä»¥é€šè¿‡"
-"[method get_stylebox_types]æ¥æ‰¾åˆ°æœ‰æ•ˆçš„[code]node_type[/code]。"
+"如果主题有 [code]theme_type[/code],返回 [code]name[/code] 处的 "
+"[StyleBox]。\n"
+"å¯ä»¥ä½¿ç”¨ [method get_stylebox_list] 找到有效的 [code]name[/code]。å¯ä»¥é€šè¿‡ "
+"[method get_stylebox_types] æ¥æ‰¾åˆ°æœ‰æ•ˆçš„ [code]theme_type[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the [StyleBox]s as a [PoolStringArray] filled with each "
"[StyleBox]'s name, for use in [method get_stylebox], if the theme has "
@@ -78154,9 +78313,10 @@ msgid ""
"Valid [code]theme_type[/code]s may be found using [method "
"get_stylebox_types]."
msgstr ""
-"如果主题有[code]node_type[/code],则返回所有[StyleBox]的[PoolStringArray],并"
-"å¡«å…¥æ¯ä¸ª[StyleBox]çš„å称,以供[method get_stylebox]使用。\n"
-"å¯ä»¥ä½¿ç”¨[method get_stylebox_types]找到有效的[code]node_type[/code]。"
+"如果主题有 [code]theme_type[/code],则返回所有 [StyleBox] 的 "
+"[PoolStringArray],并填入æ¯ä¸ª [StyleBox] çš„å称,以供 [method get_stylebox] "
+"使用。\n"
+"å¯ä»¥ä½¿ç”¨ [method get_stylebox_types] 找到有效的 [code]theme_type[/code]。"
#: doc/classes/Theme.xml
msgid ""
@@ -78168,7 +78328,6 @@ msgstr ""
"[method get_stylebox]和/或[method get_stylebox_list]使用。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns the theme item of [code]data_type[/code] at [code]name[/code] if the "
"theme has [code]theme_type[/code].\n"
@@ -78176,14 +78335,13 @@ msgid ""
"a data type specific method. Valid [code]theme_type[/code]s may be found "
"using [method get_theme_item_types] or a data type specific method."
msgstr ""
-"如果主题有 [code]node_type[/code],则以 [code]name[/code] 返回 "
+"如果主题有 [code]theme_type[/code],则以 [code]name[/code] 返回 "
"[code]data_type[/code] 的主题项目。\n"
"使用 [method get_theme_item_list] 或数æ®ç±»åž‹ç‰¹å®šæ–¹æ³•ï¼Œå¯èƒ½ä¼šæ‰¾åˆ°æœ‰æ•ˆçš„ "
"[code]name[/code]。å¯ä»¥ä½¿ç”¨ [method get_theme_item_types] 或数æ®ç±»åž‹ç‰¹å®šæ–¹"
-"法,找到有效的 [code]node_type[/code]。"
+"法,找到有效的 [code]theme_type[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the theme items of [code]data_type[/code] as a [PoolStringArray] "
"filled with each theme items's name, for use in [method get_theme_item] or a "
@@ -78191,11 +78349,11 @@ msgid ""
"Valid [code]theme_type[/code]s may be found using [method "
"get_theme_item_types] or a data type specific method."
msgstr ""
-"返回所有[code]data_type[/code]的主题项目,以[PoolStringArray]çš„å½¢å¼å¡«å…¥æ¯ä¸ªä¸»"
-"题项目的å称,如果主题有[code]node_type[/code],å¯ä»¥åœ¨[method get_theme_item]"
-"或特定数æ®ç±»åž‹æ–¹æ³•ä¸­ä½¿ç”¨ã€‚\n"
-"å¯ä»¥é€šè¿‡[method get_theme_item_types]或特定数æ®ç±»åž‹çš„方法找到有效的"
-"[code]node_type[/code]。"
+"返回所有 [code]data_type[/code] 的主题项目,以 [PoolStringArray] çš„å½¢å¼å¡«å…¥æ¯"
+"个主题项目的å称,如果主题有 [code]theme_type[/code],å¯ä»¥åœ¨ [method "
+"get_theme_item] 或特定数æ®ç±»åž‹æ–¹æ³•ä¸­ä½¿ç”¨ã€‚\n"
+"å¯ä»¥é€šè¿‡ [method get_theme_item_types] 或特定数æ®ç±»åž‹çš„方法找到有效的 "
+"[code]theme_type[/code]。"
#: doc/classes/Theme.xml
msgid ""
@@ -78208,16 +78366,15 @@ msgstr ""
"或数æ®ç±»åž‹ç‰¹å®šæ–¹æ³•ä½¿ç”¨ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns all the theme types as a [PoolStringArray] filled with unique type "
"names, for use in other [code]get_*[/code] functions of this theme.\n"
"[b]Note:[/b] [code]theme_type[/code] has no effect and will be removed in "
"future version."
msgstr ""
-"将所有的主题类型作为一个[PoolStringArray]返回,其中填入了唯一的类型å称,以供"
-"这个主题的其他[code]get_*[/code]函数使用。\n"
-"[b]注æ„:[/b][code]node_type[/code]没有生效,在未æ¥çš„版本中会被删除。"
+"将所有的主题类型作为一个 [PoolStringArray] 返回,其中填入了唯一的类型å称,以"
+"供这个主题的其他 [code]get_*[/code] 函数使用。\n"
+"[b]注æ„:[/b][code]theme_type[/code] 没有生效,在未æ¥çš„版本中会被删除。"
#: doc/classes/Theme.xml
msgid ""
@@ -78233,28 +78390,26 @@ msgid ""
msgstr "返回给定的基础类型 [code]base_type[/code] 的所有类型å˜ç§ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"如果带有[code]name[/code]的[Color]在[code]node_type[/code]中,则返回 "
+"如果 [code]theme_type[/code] 中存在å为 [code]name[/code] çš„ [Color],则返回 "
"[code]true[/code]。\n"
-"如果主题没有[code]node_type[/code],则返回 [code]false[/code]。"
+"如果主题没有 [code]theme_type[/code],则返回 [code]false[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if constant with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"如果带有[code]name[/code]的常é‡åœ¨[code]node_type[/code]中,则返回 "
+"如果 [code]theme_type[/code] 中存在å为 [code]name[/code] 的常é‡ï¼Œåˆ™è¿”回 "
"[code]true[/code]。\n"
-"如果主题没有[code]node_type[/code],则返回 [code]false[/code]。"
+"如果主题没有[code]theme_type[/code],则返回 [code]false[/code]。"
#: doc/classes/Theme.xml
msgid ""
@@ -78264,52 +78419,48 @@ msgstr ""
"如果这个主题有一个有效的[member default_font]值,返回 [code]true[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [Font] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"如果带有[code]name[/code]的[Font]在[code]node_type[/code]中,则返回 "
+"如果 [code]theme_type[/code] 中存在å为 [code]name[/code] çš„ [Font],则返回 "
"[code]true[/code]。\n"
-"如果主题没有[code]node_type[/code],则返回 [code]false[/code]。"
+"如果主题没有[code]theme_type[/code],则返回 [code]false[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if icon [Texture] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"如果带有[code]name[/code]的图标[Texture]在[code]node_type[/code]中,则返回 "
-"[code]true[/code]。\n"
-"如果主题没有[code]node_type[/code],则返回 [code]false[/code]。"
+"如果 [code]theme_type[/code] 中存在å为 [code]name[/code] 的图标 [Texture],"
+"则返回 [code]true[/code]。\n"
+"如果主题没有[code]theme_type[/code],则返回 [code]false[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in "
"[code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"如果带有[code]name[/code]的[StyleBox]在[code]node_type[/code]中,返回 "
-"[code]true[/code]。\n"
-"如果主题没有[code]node_type[/code],则返回 [code]false[/code]。"
+"如果 [code]theme_type[/code] 中存在å为 [code]name[/code] çš„ [StyleBox],则返"
+"回 [code]true[/code]。\n"
+"如果主题没有[code]theme_type[/code],则返回 [code]false[/code]。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if a theme item of [code]data_type[/code] with "
"[code]name[/code] is in [code]theme_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]theme_type[/"
"code]."
msgstr ""
-"如果一个 [code]data_type[/code] 的主题项目与 [code]name[/code] 在 "
-"[code]node_type[/code] 中,则返回 [code]true[/code]。\n"
-"如果该主题没有 [code]node_type[/code],则返回 [code]false[/code]。"
+"如果 [code]theme_type[/code] 中存在å为 [code]name[/code] çš„ "
+"[code]data_type[/code] 类型的主题项目,则返回 [code]true[/code]。\n"
+"如果该主题没有 [code]theme_type[/code],则返回 [code]false[/code]。"
#: doc/classes/Theme.xml
msgid ""
@@ -78341,123 +78492,111 @@ msgstr ""
"被消除。如果该类型为类型å˜ç§çš„基础类型,则那些å˜ç§ä¼šå¤±åŽ»å…¶åŸºç¡€ç±»åž‹ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the [Color] at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
msgstr ""
-"如果主题有 [code]node_type[/code],则将 [code]old_name[/code] çš„ [Color] é‡å‘½"
-"å为 [code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å°†å¤±è´¥ã€‚"
+"如果主题有 [code]theme_type[/code],则将 [code]old_name[/code] çš„ [Color] é‡"
+"命å为 [code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å°†å¤±è´¥ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the constant at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
msgstr ""
-"如果主题有 [code]node_type[/code],则将 [code]old_name[/code] 的常é‡é‡å‘½å为 "
-"[code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
+"如果主题有 [code]theme_type[/code],则将 [code]old_name[/code] 的常é‡é‡å‘½å"
+"为 [code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the [Font] at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
msgstr ""
-"如果主题有 [code]node_type[/code],则将 [code]old_name[/code] çš„ [Font] é‡å‘½"
+"如果主题有 [code]theme_type[/code],则将 [code]old_name[/code] çš„ [Font] é‡å‘½"
"å为 [code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the icon at [code]old_name[/code] to [code]name[/code] if the theme "
"has [code]theme_type[/code]. If [code]name[/code] is already taken, this "
"method fails."
msgstr ""
-"如果主题有 [code]node_type[/code],则将 [code]old_name[/code] 的图标é‡å‘½å为 "
-"[code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
+"如果主题有 [code]theme_type[/code],则将 [code]old_name[/code] 的图标é‡å‘½å"
+"为 [code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames [StyleBox] at [code]old_name[/code] to [code]name[/code] if the "
"theme has [code]theme_type[/code]. If [code]name[/code] is already taken, "
"this method fails."
msgstr ""
-"如果主题有 [code]node_type[/code],则将 [StyleBox] 在 [code]old_name[/code] "
+"如果主题有 [code]theme_type[/code],则将 [StyleBox] 在 [code]old_name[/code] "
"é‡å‘½å为 [code]name[/code]。如果 [code]name[/code] å·²ç»è¢«å ç”¨ï¼Œæ­¤æ–¹æ³•ä¼šå¤±è´¥ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Renames the theme item of [code]data_type[/code] at [code]old_name[/code] to "
"[code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/"
"code] is already taken, this method fails."
msgstr ""
-"如果主题具有 [code]node_type[/code],则将 [code]old_name[/code] 处的 "
+"如果主题具有 [code]theme_type[/code],则将 [code]old_name[/code] 处的 "
"[code]data_type[/code] 的主题项é‡å‘½å为 [code]name[/code]。如果 [code]name[/"
"code] å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"在 [code]node_type[/code] 中的 [code]name[/code] 处,设置主题的[Color]为"
-"[code]color[/code]。\n"
-"如果主题没有[code]node_type[/code],则创建该节点。"
+"在主题的 [code]theme_type[/code] 中,将å为 [code]name[/code] çš„ [Color] 设置"
+"为 [code]color[/code]。\n"
+"如果该主题没有 [code]theme_type[/code],会创建该主题类型。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's constant to [code]constant[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"在 [code]node_type[/code] 中的 [code]name[/code] 处,将主题的常é‡è®¾ç½®ä¸º"
+"在主题的 [code]theme_type[/code] 中,将å为 [code]name[/code] 的常é‡è®¾ç½®ä¸º "
"[code]constant[/code]。\n"
-"如果主题没有,则创建[code]node_type[/code]。"
+"如果该主题没有 [code]theme_type[/code],会创建该主题类型。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"在 [code]node_type[/code] 中的 [code]name[/code] 处将主题的 [Font] 设置为"
-"[code]font[/code]。\n"
-"如果主题没有[code]node_type[/code],则创建该节点。"
+"在主题的 [code]theme_type[/code] 中,将å为 [code]name[/code] çš„ [Font] 设置"
+"为 [code]font[/code]。\n"
+"如果该主题没有 [code]theme_type[/code],会创建该主题类型。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme's icon [Texture] to [code]texture[/code] at [code]name[/code] "
"in [code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"在 [code]node_type[/code] 中的 [code]name[/code] 处设置主题的图标[Texture]为"
-"[code]texture[/code]。\n"
-"如果主题没有[code]node_type[/code],则创建该节点。"
+"在主题的 [code]theme_type[/code] 中,将å为 [code]name[/code] 的图标 "
+"[Texture] 设置为 [code]texture[/code]。\n"
+"如果该主题没有 [code]theme_type[/code],会创建该主题类型。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in "
"[code]theme_type[/code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"将主题的[StyleBox]设置为[code]stylebox[/code],在[code]node_type[/code]的"
-"[code]name[/code]处。\n"
-"如果主题没有[code]node_type[/code],则创建该节点。"
+"在主题的 [code]theme_type[/code] 中,将å为 [code]name[/code] çš„ [StyleBox] "
+"设置为 [code]stylebox[/code]。\n"
+"如果该主题没有 [code]theme_type[/code],会创建该主题类型。"
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Sets the theme item of [code]data_type[/code] to [code]value[/code] at "
"[code]name[/code] in [code]theme_type[/code].\n"
@@ -78465,10 +78604,11 @@ msgid ""
"code].\n"
"Creates [code]theme_type[/code] if the theme does not have it."
msgstr ""
-"将[code]data_type[/code]的主题项目设置为[code]value[/code],在"
-"[code]node_type[/code]中的[code]name[/code]。\n"
-"如果[code]value[/code]类型与[code]data_type[/code]ä¸åŒ¹é…,则ä¸åšä»»ä½•å¤„ç†ã€‚\n"
-"如果主题没有[code]node_type[/code],则创建该类型。"
+"在主题的 [code]theme_type[/code] 中,将å为 [code]name[/code] çš„ "
+"[code]data_type[/code] 类型的主题项目设置为 [code]value[/code]。\n"
+"如果 [code]value[/code]类型与 [code]data_type[/code]ä¸åŒ¹é…,则ä¸åšä»»ä½•å¤„"
+"ç†ã€‚\n"
+"如果该主题没有 [code]theme_type[/code],会创建该主题类型。"
#: doc/classes/Theme.xml
msgid ""
@@ -78743,7 +78883,7 @@ msgid ""
"Optionally, the tilemap's half offset can be ignored."
msgstr ""
"返回与指定的图å—地图(基于网格)å标相对应的å•å…ƒæ ¼å·¦ä¸Šè§’的局部å标。\n"
-"è¦èŽ·å¾—全局å标,请使用[method Node2D.to_global]。\n"
+"è¦èŽ·å¾—全局ä½ç½®ï¼Œè¯·ä½¿ç”¨ [method Node2D.to_global]:\n"
"[codeblock]\n"
"var local_position = my_tilemap.map_to_world(map_position)\n"
"var global_position = my_tilemap.to_global(local_position)\n"
@@ -78807,17 +78947,18 @@ msgstr ""
#: doc/classes/TileMap.xml
msgid "Sets the given collision layer bit."
-msgstr "设置指定碰撞层bitä½ã€‚"
+msgstr "设置指定碰撞层比特ä½ã€‚"
#: doc/classes/TileMap.xml
msgid "Sets the given collision mask bit."
-msgstr "设置指定碰撞é®ç½©bitä½ã€‚"
+msgstr "设置指定碰撞é®ç½©æ¯”特ä½ã€‚"
#: doc/classes/TileMap.xml
msgid ""
"Applies autotiling rules to the cell (and its adjacent cells) referenced by "
"its grid-based X and Y coordinates."
-msgstr "对基于网格的Xå’ŒYå标所引用的å•å…ƒæ ¼ï¼ŒåŠå…¶ç›¸é‚»å•å…ƒæ ¼ï¼Œåº”用自动平移规则。"
+msgstr ""
+"对基于网格的 X å’Œ Y å标所引用的å•å…ƒæ ¼ï¼ˆåŠå…¶ç›¸é‚»å•å…ƒæ ¼ï¼‰åº”用自动平移规则。"
#: doc/classes/TileMap.xml
msgid ""
@@ -78826,8 +78967,8 @@ msgid ""
"Calling with invalid (or missing) parameters applies autotiling rules for "
"the entire tilemap."
msgstr ""
-"对指定区域内的å•å…ƒæ ¼åº”用自动平移规则,由基于网格的Xå’ŒYå标指定。\n"
-"用无效的或缺失的å‚数调用时,自动平铺规则应用于整个图å—地图。"
+"对指定区域内的å•å…ƒæ ¼åº”用自动平移规则(由基于网格的 X å’Œ Y å标指定)。\n"
+"用无效(或缺失)的å‚数调用时,自动平铺规则应用于整个图å—地图。"
#: doc/classes/TileMap.xml
msgid ""
@@ -78875,15 +79016,15 @@ msgstr "ä¾æ¬¡æŽ’列的图å—çš„å移é‡ã€‚å¯èƒ½çš„å–å€¼è§ [enum HalfOffset]
msgid ""
"The TileMap's quadrant size. Optimizes drawing by batching, using chunks of "
"this size."
-msgstr "图å—地图的象é™å¤§å°ã€‚使用这个尺寸的图å—,通过批处ç†ä¼˜åŒ–绘制。"
+msgstr "该 TileMap 的象é™å¤§å°ã€‚会使用这个大å°çš„区å—对绘制进行批处ç†ä¼˜åŒ–。"
#: doc/classes/TileMap.xml
msgid "The TileMap's cell size."
-msgstr "图å—地图的å•å…ƒå¤§å°ã€‚"
+msgstr "该 TileMap çš„å•å…ƒæ ¼å¤§å°ã€‚"
#: doc/classes/TileMap.xml
msgid "Position for tile origin. See [enum TileOrigin] for possible values."
-msgstr "图å—原点的å标。å¯èƒ½çš„å–å€¼è§ [enum TileOrigin]。"
+msgstr "图å—原点的ä½ç½®ã€‚å¯èƒ½çš„å–å€¼è§ [enum TileOrigin]。"
#: doc/classes/TileMap.xml
msgid ""
@@ -83220,9 +83361,9 @@ msgid ""
"result at position [code]weight[/code]. [code]weight[/code] is on the range "
"of 0.0 to 1.0, representing the amount of interpolation."
msgstr ""
-"用[code]pre_a[/code]å’Œ[code]post_b[/code]作为å¥æŸ„,在这个å‘é‡å’Œ[code]b[/code]"
-"之间进行三次æ’值,并在[code]weight[/code]ä½ç½®è¿”回结果。[code]weight[/code]çš„"
-"范围是0.0 到 1.0,表示æ’值的é‡ã€‚"
+"用 [code]pre_a[/code] å’Œ [code]post_b[/code] 作为控制柄,在这个å‘é‡å’Œ "
+"[code]b[/code] 之间进行三次æ’值,并在 [code]weight[/code] ä½ç½®è¿”回结果。"
+"[code]weight[/code] 的范围是 0.0 到 1.0,表示æ’值的é‡ã€‚"
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -83501,9 +83642,9 @@ msgid ""
"result at position [code]weight[/code]. [code]weight[/code] is on the range "
"of 0.0 to 1.0, representing the amount of interpolation."
msgstr ""
-"用 [code]pre_a[/code] å’Œ [code]post_b[/code] 作为å¥æŸ„,在这个å‘é‡å’Œ [code]b[/"
-"code] 之间进行三次æ’值,并在 [code]weight[/code] ä½ç½®è¿”回结果。[code]weight[/"
-"code] 的范围是 0.0 到 1.0,表示æ’值的é‡ã€‚"
+"用 [code]pre_a[/code] å’Œ [code]post_b[/code] 作为控制柄,在这个å‘é‡å’Œ "
+"[code]b[/code] 之间进行三次æ’值,并在 [code]weight[/code] ä½ç½®è¿”回结果。"
+"[code]weight[/code] 的范围是 0.0 到 1.0,表示æ’值的é‡ã€‚"
#: doc/classes/Vector3.xml
msgid "Returns the distance between this vector and [code]b[/code]."
@@ -83524,11 +83665,11 @@ msgid ""
"[b]Note:[/b] [code]a.dot(b)[/code] is equivalent to [code]b.dot(a)[/code]."
msgstr ""
"返回此å‘é‡ä¸Ž [code]b[/code] 的点积。这å¯ä»¥ç”¨æ¥æ¯”较两个å‘é‡ä¹‹é—´çš„角度。例如,"
-"è¿™å¯ä»¥ç”¨æ¥ç¡®å®šä¸€ä¸ªæ•Œäººæ˜¯å¦æ­£é¢å¯¹çŽ©å®¶ã€‚\n"
-"对于直角 90 度,点积将是 [code]0[/code],对于窄于 90 度的角度,点积大于 0,对"
-"于宽于 90 度的角度,点积å°äºŽ 0。\n"
-"当使用归一化å•ä½å‘é‡ï¼Œå‘é‡æœå‘相åæ–¹å‘时,结果总是在 [code]-1.0[/code](180 "
-"度角)和 [code]1.0[/code](0 度角)之间,当å‘é‡å¯¹é½ã€‚\n"
+"è¿™å¯ä»¥ç”¨æ¥ç¡®å®šæ•Œäººæ˜¯å¦é¢å¯¹çŽ©å®¶ã€‚\n"
+"直角(90 度)的点积是 [code]0[/code],夹角å°äºŽ 90 度点积大于 0,夹角大于 90 "
+"度点积å°äºŽ 0。\n"
+"使用å•ä½ï¼ˆå½’一化)å‘é‡æ—¶ï¼Œç»“果总是在表示方å‘相åçš„ [code]-1.0[/code](180 度"
+"角)和表示方å‘相åŒçš„ [code]1.0[/code](0 度角)之间。\n"
"[b]注æ„:[/b][code]a.dot(b)[/code] 与 [code]b.dot(a)[/code] 等价。"
#: doc/classes/Vector3.xml
@@ -83554,8 +83695,8 @@ msgid ""
"constants. If all components are equal, this method returns [constant "
"AXIS_X]."
msgstr ""
-"返回å‘é‡çš„最大值的轴。å‚阅 [code]AXIS_*[/code] 常é‡ã€‚如果所有分é‡éƒ½ç›¸ç­‰ï¼Œè¯¥æ–¹"
-"法返回 [constant AXIS_X]。"
+"返回该å‘é‡ä¸­å€¼æœ€å¤§çš„è½´ã€‚è§ [code]AXIS_*[/code] 常é‡ã€‚如果所有分é‡éƒ½ç›¸ç­‰ï¼Œåˆ™è¯¥"
+"方法返回 [constant AXIS_X]。"
#: doc/classes/Vector3.xml
msgid ""
@@ -83563,8 +83704,8 @@ msgid ""
"constants. If all components are equal, this method returns [constant "
"AXIS_Z]."
msgstr ""
-"返回矢é‡çš„最å°å€¼çš„轴。å‚阅 [code]AXIS_*[/code] 常é‡ã€‚如果所有分é‡éƒ½ç›¸ç­‰ï¼Œæœ¬æ–¹"
-"法返回 [constant AXIS_Z]。"
+"返回该å‘é‡ä¸­å€¼æœ€å°çš„è½´ã€‚è§ [code]AXIS_*[/code] 常é‡ã€‚如果所有分é‡éƒ½ç›¸ç­‰ï¼Œåˆ™è¯¥"
+"方法返回 [constant AXIS_Z]。"
#: doc/classes/Vector3.xml
msgid "Returns the outer product with [code]b[/code]."
@@ -83589,8 +83730,8 @@ msgid ""
"clockwise direction when viewed from the side specified by the [code]axis[/"
"code]."
msgstr ""
-"返回给定å‘é‡çš„带符å·çš„角度,å•ä½æ˜¯å¼§åº¦ã€‚当从[code]axis[/code]指定的一侧看,该"
-"角度的符å·åœ¨é€†æ—¶é’ˆæ–¹å‘是正的,在顺时针方å‘是负的。"
+"返回给定å‘é‡çš„带符å·çš„角度,å•ä½æ˜¯å¼§åº¦ã€‚当从 [code]axis[/code] 指定的一侧看,"
+"该角度的符å·åœ¨é€†æ—¶é’ˆæ–¹å‘是正的,在顺时针方å‘是负的。"
#: doc/classes/Vector3.xml
msgid ""
@@ -83701,8 +83842,8 @@ msgid ""
"value in the 25 - 30 range for hard braking."
msgstr ""
"通过施加一个制动力使车辆å‡é€Ÿã€‚åªæœ‰å½“车轮接触到表é¢æ—¶ï¼Œè½¦è¾†æ‰ä¼šå‡é€Ÿã€‚你需è¦æ–½"
-"加多少力æ¥ä½¿ä½ çš„车辆充分å‡é€Ÿï¼Œå–决于车辆的[member RigidBody.mass]。对于一个质"
-"é‡è®¾ç½®ä¸º1000的车辆,å°è¯•åœ¨25-30的范围内进行硬制动。"
+"加多少力æ¥ä½¿ä½ çš„车辆充分å‡é€Ÿï¼Œå–决于车辆的 [member RigidBody.mass]。对于一个"
+"è´¨é‡è®¾ç½®ä¸º 1000 的车辆,å°è¯•åœ¨ 25 到 30 的范围内进行硬制动。"
#: doc/classes/VehicleBody.xml
msgid ""
@@ -83718,8 +83859,8 @@ msgid ""
msgstr ""
"通过施加一个引擎力æ¥åŠ é€Ÿè½¦è¾†ã€‚åªæœ‰å½“ [member VehicleWheel.use_as_traction] 设"
"置为 [code]true[/code] 并与表é¢æŽ¥è§¦çš„车轮æ‰ä¼šåŠ é€Ÿã€‚车辆的 [member RigidBody."
-"mass] 对车辆的加速度有影å“。对于一个质é‡è®¾ç½®ä¸º 1000 的车辆,å¯ä»¥å°è¯•åœ¨ 25-50 "
-"的范围内选择加速度的值。\n"
+"mass] 对车辆的加速度有影å“。对于一个质é‡è®¾ç½®ä¸º 1000 的车辆,å¯ä»¥å°è¯•åœ¨ 25 到 "
+"50 的范围内选择加速度的值。\n"
"[b]注æ„:[/b]模拟ä¸è€ƒè™‘齿轮的影å“,如果你想模拟齿轮,将需è¦ä¸ºå…¶æ·»åŠ é€»è¾‘。\n"
"负值将导致车辆倒车。"
@@ -83730,8 +83871,8 @@ msgid ""
"VehicleWheel.use_as_steering] set to [code]true[/code] will automatically be "
"rotated."
msgstr ""
-"车辆的转å‘角。将此设置为éžé›¶å€¼å°†å¯¼è‡´è½¦è¾†åœ¨ç§»åŠ¨æ—¶è½¬å‘。将[member VehicleWheel."
-"use_as_steering]设置为 [code]true[/code]的车轮会自动旋转。"
+"车辆的转å‘角。将此设置为éžé›¶å€¼å°†å¯¼è‡´è½¦è¾†åœ¨ç§»åŠ¨æ—¶è½¬å‘。将 [member "
+"VehicleWheel.use_as_steering] 设置为 [code]true[/code] 的车轮会自动旋转。"
#: doc/classes/VehicleWheel.xml
msgid "Physics object that simulates the behavior of a wheel."
@@ -83802,9 +83943,9 @@ msgid ""
"car will keep bouncing as the spring keeps its energy. A good value for this "
"is around 0.3 for a normal car, 0.5 for a race car."
msgstr ""
-"当弹簧被压缩时,应用在弹簧上的阻尼。这个值应该在0.0(无阻尼)和1.0之间。0.0的"
-"值æ„味ç€æ±½è½¦å°†æŒç»­å¼¹è·³ï¼Œå› ä¸ºå¼¹ç°§å°†ä¿æŒå…¶èƒ½é‡ã€‚一个好的值是,普通汽车0.3å·¦å³ï¼Œ"
-"赛车0.5å·¦å³ã€‚"
+"当弹簧被压缩时,应用在弹簧上的阻尼。这个值应该在 0.0(无阻尼)和 1.0 之间。"
+"0.0 的值æ„味ç€æ±½è½¦å°†æŒç»­å¼¹è·³ï¼Œå› ä¸ºå¼¹ç°§å°†ä¿æŒå…¶èƒ½é‡ã€‚普通汽车 0.3 å·¦å³ï¼Œèµ›è½¦ "
+"0.5 å·¦å³æ¯”较好。"
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -83813,9 +83954,9 @@ msgid ""
"higher than the [member damping_compression] property. For a [member "
"damping_compression] value of 0.3, try a relaxation value of 0.5."
msgstr ""
-"放æ¾æ—¶æ–½åŠ åœ¨å¼¹ç°§ä¸Šçš„阻尼。这个值应该在0.0(无阻尼)和1.0之间。这个值应该总是"
-"比 [member damping_compression] 属性ç¨é«˜ã€‚对于 [member damping_compression] "
-"值0.3,å°è¯•æ”¾æ¾å€¼ä¸º0.5。"
+"放æ¾æ—¶æ–½åŠ åœ¨å¼¹ç°§ä¸Šçš„阻尼。这个值应该在 0.0(无阻尼)和 1.0 之间。这个值应该总"
+"是比 [member damping_compression] 属性ç¨é«˜ã€‚对于 [member "
+"damping_compression] 值 0.3,å°è¯•æ”¾æ¾å€¼ä¸º 0.5。"
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -83846,9 +83987,9 @@ msgid ""
"will not carry the weight of the vehicle. Good results are often obtained by "
"a value that is about 3× to 4× this number."
msgstr ""
-"弹簧所能抵抗的最大力。此值应该高于[VehicleBody]的[member RigidBody.mass]的四"
-"分之一,å¦åˆ™å¼¹ç°§å°†æ— æ³•æ‰¿è½½è½¦è¾†çš„é‡é‡ã€‚通常由大约3×到4×这个数字的值,以获得良"
-"好的效果。"
+"弹簧所能抵抗的最大力。此值应该高于 [VehicleBody] 的 [member RigidBody.mass] "
+"的四分之一,å¦åˆ™å¼¹ç°§å°†æ— æ³•æ‰¿è½½è½¦è¾†çš„é‡é‡ã€‚通常由大约 3× 到 4× 这个数字的值,"
+"以获得良好的效果。"
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -83856,8 +83997,8 @@ msgid ""
"50 for an off-road car, a value between 50 and 100 for a race car and try "
"something around 200 for something like a Formula 1 car."
msgstr ""
-"这个值定义了悬架的刚度。越野车使用低于50的值,赛车使用50至100的值,åƒä¸€çº§æ–¹ç¨‹"
-"å¼èµ›è½¦åˆ™å°è¯•200å·¦å³çš„值。"
+"这个值定义了悬架的刚度。越野车使用低于 50 的值,赛车使用 50 至 100 的值,åƒä¸€"
+"级方程å¼èµ›è½¦åˆ™å°è¯• 200 å·¦å³çš„值。"
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -83898,10 +84039,10 @@ msgid ""
"simulate tire wear.\n"
"It's best to set this to 1.0 when starting out."
msgstr ""
-"这决定了这个轮å­çš„抓地力有多大。它与车轮所接触的表é¢çš„摩擦力设置相结åˆã€‚0.0æ„"
-"味ç€æ²¡æœ‰æŠ“地力,1.0是正常抓地力。对于漂移车的设置,å°è¯•å°†åŽè½®çš„抓地力设置得比"
-"å‰è½®ç•¥ä½Žï¼Œæˆ–者使用较低的数值æ¥æ¨¡æ‹Ÿè½®èƒŽçš„磨æŸã€‚\n"
-"在开始时最好将其设置为1.0。"
+"这决定了这个轮å­çš„抓地力有多大。它与车轮所接触的表é¢çš„摩擦力设置相结åˆã€‚0.0 "
+"æ„味ç€æ²¡æœ‰æŠ“地力,1.0 是正常抓地力。对于漂移车的设置,å°è¯•å°†åŽè½®çš„抓地力设置"
+"得比å‰è½®ç•¥ä½Žï¼Œæˆ–者使用较低的数值æ¥æ¨¡æ‹Ÿè½®èƒŽçš„磨æŸã€‚\n"
+"在开始时最好将其设置为 1.0。"
#: doc/classes/VehicleWheel.xml
msgid "The radius of the wheel in meters."
@@ -83915,9 +84056,9 @@ msgid ""
"will take when bottoming out, then use the rest length to move the wheel "
"down to the position it should be in when the car is in rest."
msgstr ""
-"这是轮å­ä»ŽåŽŸç‚¹ä¸‹é™çš„è·ç¦»ï¼Œä»¥ç±³ä¸ºå•ä½ã€‚ä¸è¦æŠŠè¿™ä¸ªè®¾ç½®ä¸º0.0,然åŽæŠŠè½¦è½®ç§»åˆ°ä½ç½®"
-"上,而是把车轮的原点(Godot中的Gizmo)移到车轮触底时的ä½ç½®ï¼Œç„¶åŽä½¿ç”¨å‰©ä½™é•¿åº¦"
-"将轮å­å‘下移动到汽车é™æ­¢æ—¶å®ƒåº”该所处ä½ç½®ã€‚"
+"这是轮å­ä»ŽåŽŸç‚¹ä¸‹é™çš„è·ç¦»ï¼Œä»¥ç±³ä¸ºå•ä½ã€‚ä¸è¦æŠŠè¿™ä¸ªè®¾ç½®ä¸º 0.0,然åŽæŠŠè½¦è½®ç§»åˆ°ä½"
+"置上,而是把车轮的原点(Godot 中的å°å·¥å…·ï¼‰ç§»åˆ°è½¦è½®è§¦åº•æ—¶çš„ä½ç½®ï¼Œç„¶åŽä½¿ç”¨å‰©ä½™"
+"长度将轮å­å‘下移动到汽车é™æ­¢æ—¶å®ƒåº”该所处ä½ç½®ã€‚"
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -83925,8 +84066,8 @@ msgid ""
"your vehicle will be prone to rolling over, while a value of 0.0 will resist "
"body roll."
msgstr ""
-"这个值会影å“车辆的滚动。如果所有车轮都设置为1.0,车辆将容易翻车,而0.0的值将"
-"阻止车身侧倾。"
+"这个值会影å“车辆的滚动。如果所有车轮都设置为 1.0,车辆将容易翻车,而 0.0 的值"
+"将阻止车身侧倾。"
#: doc/classes/VFlowContainer.xml
msgid "Vertical flow container."
@@ -83970,21 +84111,21 @@ msgstr ""
#: doc/classes/VideoPlayer.xml
msgid "Returns the current frame as a [Texture]."
-msgstr "将当å‰å¸§ä½œä¸º[Texture]返回。"
+msgstr "将当å‰å¸§ä½œä¸º [Texture] 返回。"
#: doc/classes/VideoPlayer.xml
msgid ""
"Returns [code]true[/code] if the video is playing.\n"
"[b]Note:[/b] The video is still considered playing if paused during playback."
msgstr ""
-"如果视频正在播放,返回 [code]true[/code] 。\n"
+"如果视频正在播放,返回 [code]true[/code]。\n"
"[b]注æ„:[/b]如果在播放过程中暂åœï¼Œè§†é¢‘ä»è¢«è®¤ä¸ºåœ¨æ’­æ”¾ã€‚"
#: doc/classes/VideoPlayer.xml
msgid ""
"Starts the video playback from the beginning. If the video is paused, this "
"will not unpause the video."
-msgstr "从头开始播放视频。如果视频暂åœï¼Œè¿™ä¸ä¼šå–消暂åœã€‚"
+msgstr "从头开始播放视频。如果视频处于暂åœçŠ¶æ€ï¼Œä¸ä¼šå–消暂åœã€‚"
#: doc/classes/VideoPlayer.xml
msgid ""
@@ -83992,8 +84133,8 @@ msgid ""
"[b]Note:[/b] Although the stream position will be set to 0, the first frame "
"of the video stream won't become the current frame."
msgstr ""
-"åœæ­¢è§†é¢‘播放并将视频æµä½ç½®è®¾ç½®ä¸º0。\n"
-"[b]注æ„:[/b]虽然视频æµä½ç½®å°†è¢«è®¾ç½®ä¸º0,但视频æµçš„第一帧ä¸ä¼šæˆä¸ºå½“å‰å¸§ã€‚"
+"åœæ­¢è§†é¢‘播放并将视频æµä½ç½®è®¾ç½®ä¸º 0。\n"
+"[b]注æ„:[/b]虽然视频æµä½ç½®å°†è¢«è®¾ç½®ä¸º 0,但视频æµçš„第一帧ä¸ä¼šæˆä¸ºå½“å‰å¸§ã€‚"
#: doc/classes/VideoPlayer.xml
msgid "The embedded audio track to play."
@@ -84044,7 +84185,7 @@ msgstr "音频音é‡ä¸ºçº¿æ€§å€¼ã€‚"
#: doc/classes/VideoPlayer.xml
msgid "Audio volume in dB."
-msgstr "音频音é‡ï¼Œå•ä½æ˜¯dB。"
+msgstr "音频音é‡ï¼Œå•ä½æ˜¯ dB。"
#: doc/classes/VideoPlayer.xml
msgid "Emitted when playback is finished."
@@ -84060,8 +84201,8 @@ msgid ""
"[VideoStream] can all be used as resource types to play back videos in "
"[VideoPlayer]."
msgstr ""
-"所有视频æµçš„资æºç±»åž‹åŸºç±»ã€‚派生自[VideoStream]的类都å¯ä»¥ä½œä¸ºèµ„æºç±»åž‹ï¼Œåœ¨"
-"[VideoPlayer]中播放视频。"
+"所有视频æµçš„资æºç±»åž‹åŸºç±»ã€‚派生自 [VideoStream] 的类都å¯ä»¥ä½œä¸ºèµ„æºç±»åž‹ï¼Œåœ¨ "
+"[VideoPlayer] 中播放视频。"
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
msgid "[VideoStream] resource for video formats implemented via GDNative."
@@ -84081,7 +84222,7 @@ msgstr ""
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
msgid "Returns the video file handled by this [VideoStreamGDNative]."
-msgstr "返回由这个[VideoStreamGDNative]处ç†çš„视频文件。"
+msgstr "返回由这个 [VideoStreamGDNative] 处ç†çš„视频文件。"
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
msgid ""
@@ -84089,12 +84230,12 @@ msgid ""
"supported extensions depend on the GDNative plugins used to expose video "
"formats."
msgstr ""
-"设置此[VideoStreamGDNative]资æºå¤„ç†çš„视频文件。支æŒçš„扩展å–决于,用于公开视频"
-"æ ¼å¼çš„GDNativeæ’件。"
+"设置此 [VideoStreamGDNative] 资æºå¤„ç†çš„视频文件。支æŒçš„扩展å–决于,用于公开视"
+"频格å¼çš„ GDNative æ’件。"
#: modules/theora/doc_classes/VideoStreamTheora.xml
msgid "[VideoStream] resource for Ogg Theora videos."
-msgstr "[VideoStream] Ogg Theora视频的资æºã€‚"
+msgstr "[VideoStream] Ogg Theora 视频的资æºã€‚"
#: modules/theora/doc_classes/VideoStreamTheora.xml
msgid ""
@@ -84227,7 +84368,7 @@ msgid ""
"Returns the first valid [World] for this viewport, searching the [member "
"world] property of itself and any Viewport ancestor."
msgstr ""
-"返回该视窗的首个有效 [World],在它自身åŠä»»ä½• Viewport 祖先节点的 [member "
+"返回该视å£çš„首个有效 [World],在它自身åŠä»»ä½• Viewport 祖先节点的 [member "
"world] 属性中查找。"
#: doc/classes/Viewport.xml
@@ -84235,7 +84376,7 @@ msgid ""
"Returns the first valid [World2D] for this viewport, searching the [member "
"world_2d] property of itself and any Viewport ancestor."
msgstr ""
-"返回该视窗的首个有效 [World2D],在它自身åŠä»»ä½• Viewport 祖先节点的 [member "
+"返回该视å£çš„首个有效 [World2D],在它自身åŠä»»ä½• Viewport 祖先节点的 [member "
"world_2d] 属性中查找。"
#: doc/classes/Viewport.xml
@@ -84290,7 +84431,7 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "Returns the viewport's RID from the [VisualServer]."
-msgstr "从 [VisualServer] 返回该视窗的 RID。"
+msgstr "从 [VisualServer] 返回该视å£çš„ RID。"
#: doc/classes/Viewport.xml
msgid "Returns the visible rectangle in global screen coordinates."
@@ -84327,8 +84468,7 @@ msgid ""
"Returns [code]true[/code] if the size override is enabled. See [method "
"set_size_override]."
msgstr ""
-"如果å¯ç”¨äº†å°ºå¯¸è¦†ç›–,则返回 [code]true[/code]。请å‚阅 [method "
-"set_size_override]。"
+"如果å¯ç”¨äº†å°ºå¯¸è¦†ç›–,则返回 [code]true[/code]ã€‚è§ [method set_size_override]。"
#: doc/classes/Viewport.xml
msgid ""
@@ -84363,7 +84503,7 @@ msgid ""
"size. If the size parameter is [code](-1, -1)[/code], it won't update the "
"size."
msgstr ""
-"设置该视窗的尺寸覆盖。如果 [code]enable[/code] å‚数是 [code]true[/code],就会"
+"设置该视å£çš„尺寸覆盖。如果 [code]enable[/code] å‚数是 [code]true[/code],就会"
"使用覆盖,å¦åˆ™å°±ä½¿ç”¨é»˜è®¤å°ºå¯¸ã€‚如果尺寸å‚数是 [code](-1, -1)[/code],它将ä¸ä¼š"
"更新尺寸。"
@@ -84380,15 +84520,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will be used in AR/VR process."
-msgstr "如果为 [code]true[/code],该视窗将用于AR/VR进程。"
+msgstr "如果为 [code]true[/code],该视å£å°†ç”¨äºŽAR/VR进程。"
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will process 2D audio streams."
-msgstr "如果为 [code]true[/code]ï¼Œè¯¥è§†çª—å°†å¤„ç† 2D 音频æµã€‚"
+msgstr "如果为 [code]true[/code],该视å£å°†å¤„ç† 2D 音频æµã€‚"
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will process 3D audio streams."
-msgstr "如果为 [code]true[/code]ï¼Œè¯¥è§†çª—å°†å¤„ç† 3D 音频æµã€‚"
+msgstr "如果为 [code]true[/code],该视å£å°†å¤„ç† 3D 音频æµã€‚"
#: doc/classes/Viewport.xml
msgid ""
@@ -84396,16 +84536,22 @@ msgid ""
"positions of all child [CanvasItem]s. This is relative to the global canvas "
"transform of the viewport."
msgstr ""
-"该视窗的画布å˜æ¢ï¼Œå¯¹æ”¹å˜æ‰€æœ‰å­ [CanvasItem] çš„å±å¹•ä½ç½®å¾ˆæœ‰ç”¨ã€‚相对于该视窗的"
+"该视å£çš„画布å˜æ¢ï¼Œå¯¹æ”¹å˜æ‰€æœ‰å­ [CanvasItem] çš„å±å¹•ä½ç½®å¾ˆæœ‰ç”¨ã€‚相对于该视å£çš„"
"全局画布å˜æ¢ã€‚"
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -84420,11 +84566,12 @@ msgid "The overlay mode for test rendered geometry in debug purposes."
msgstr "在调试时,用于测试渲染的几何图形的å åŠ æ¨¡å¼ã€‚"
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
-"如果为 [code]true[/code],该视窗将ç¦ç”¨ 3D 渲染。对于实际ç¦ç”¨ï¼Œä½¿ç”¨ "
+"如果为 [code]true[/code],该视å£å°†ç¦ç”¨ 3D 渲染。对于实际ç¦ç”¨ï¼Œä½¿ç”¨ "
"[code]usage[/code]。"
#: doc/classes/Viewport.xml
@@ -84438,24 +84585,24 @@ msgid ""
msgstr ""
"å¯ç”¨å¿«é€Ÿè¿‘似抗锯齿。FXAA 是一ç§æµè¡Œçš„å±å¹•ç©ºé—´æŠ—锯齿方法,它的速度很快,但会使"
"图åƒçœ‹èµ·æ¥å¾ˆæ¨¡ç³Šï¼Œç‰¹åˆ«æ˜¯åœ¨è¾ƒä½Žçš„分辨率。在 1440p å’Œ 4K 这样的大分辨率下,它ä»"
-"然å¯ä»¥è¾ƒå¥½å·¥ä½œã€‚一些æŸå¤±çš„é”度å¯ä»¥é€šè¿‡å¯ç”¨å¯¹æ¯”度适应性é”化æ¥æ¢å¤ï¼Œå‚阅 "
-"[member sharpen_intensity]。"
+"然å¯ä»¥è¾ƒå¥½å·¥ä½œã€‚一些æŸå¤±çš„é”度å¯ä»¥é€šè¿‡å¯ç”¨å¯¹æ¯”度适应性é”化æ¥æ¢å¤ï¼ˆè§ [member "
+"sharpen_intensity])。"
#: doc/classes/Viewport.xml
msgid ""
"The global canvas transform of the viewport. The canvas transform is "
"relative to this."
-msgstr "该视窗的全局画布å˜æ¢ã€‚画布å˜æ¢æ˜¯ç›¸å¯¹äºŽè¿™ä¸ªçš„。"
+msgstr "该视å£çš„全局画布å˜æ¢ã€‚画布å˜æ¢æ˜¯ç›¸å¯¹äºŽè¿™ä¸ªçš„。"
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will not receive input events."
-msgstr "如果为 [code]true[/code],该视窗将ä¸æŽ¥æ”¶è¾“入事件。"
+msgstr "如果为 [code]true[/code],该视å£å°†ä¸æŽ¥æ”¶è¾“入事件。"
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], the GUI controls on the viewport will lay pixel "
"perfectly."
-msgstr "如果为 [code]true[/code],该视窗上的 GUI 控件将完美地放置åƒç´ ã€‚"
+msgstr "如果为 [code]true[/code],该视å£ä¸Šçš„ GUI 控件将完美地放置åƒç´ ã€‚"
#: doc/classes/Viewport.xml
msgid ""
@@ -84468,7 +84615,7 @@ msgid ""
"[constant USAGE_3D_NO_EFFECTS], since HDR is not supported for 2D.\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"如果为 [code]true[/code],视窗的渲染将获益于高动æ€èŒƒå›´ç®—法。高动æ€èŒƒå›´å…许视"
+"如果为 [code]true[/code],视å£çš„渲染将获益于高动æ€èŒƒå›´ç®—法。高动æ€èŒƒå›´å…许视"
"窗接收 0-1 范围以外的数值。在 Godot 中 HDR 默认使用åŠç²¾åº¦æµ®ç‚¹æ•°ï¼ˆ16 ä½ï¼‰ã€‚è¦"
"使用全精度浮点数(32 ä½ï¼‰ï¼Œè¯·å¯ç”¨ [member use_32_bpc_depth]。\n"
"[b]注æ„:[/b]需è¦å°† [member usage] 设置为 [constant USAGE_3D] 或 [constant "
@@ -84488,11 +84635,11 @@ msgid ""
"require input in linear color space!"
msgstr ""
"如果为 [code]true[/code],3D 渲染åŽçš„结果将ä¸ä¼šåº”用线性到 sRGB 的颜色转æ¢ã€‚当"
-"视窗被用作渲染目标时,这点很é‡è¦ï¼Œå› ä¸ºæ¸²æŸ“结果会被用作å¦ä¸€ä¸ªè§†çª—中渲染的 3D "
-"物体的纹ç†ã€‚如果视窗被用æ¥åˆ›å»ºä¸åŸºäºŽé¢œè‰²çš„æ•°æ®ï¼Œå™ªå£°ã€é«˜åº¦å›¾ã€é‡‡å›¾ç­‰ï¼Œè¿™ä¹Ÿå¾ˆ"
-"é‡è¦ã€‚当视窗被用作 2D 对象的纹ç†æ—¶ï¼Œæˆ–者视窗是你的最终输出时,请ä¸è¦å¯ç”¨è¿™ä¸ª"
+"视å£è¢«ç”¨ä½œæ¸²æŸ“目标时,这点很é‡è¦ï¼Œå› ä¸ºæ¸²æŸ“结果会被用作å¦ä¸€ä¸ªè§†çª—中渲染的 3D "
+"物体的纹ç†ã€‚如果视å£è¢«ç”¨æ¥åˆ›å»ºä¸åŸºäºŽé¢œè‰²çš„æ•°æ®ï¼Œå™ªå£°ã€é«˜åº¦å›¾ã€é‡‡å›¾ç­‰ï¼Œè¿™ä¹Ÿå¾ˆ"
+"é‡è¦ã€‚当视å£è¢«ç”¨ä½œ 2D 对象的纹ç†æ—¶ï¼Œæˆ–者视å£æ˜¯ä½ çš„最终输出时,请ä¸è¦å¯ç”¨è¿™ä¸ª"
"功能。对于 GLES2 驱动æ¥è¯´ï¼Œè¿™å°†æŠŠ sRGB 输出转æ¢ä¸ºçº¿æ€§è¾“出,这应该åªç”¨äºŽéœ€è¦çº¿"
-"性色彩空间输入的VRæ’件!"
+"性色彩空间输入的 VR æ’件!"
#: doc/classes/Viewport.xml
msgid ""
@@ -84500,22 +84647,22 @@ msgid ""
"edges at the cost of significantly worse performance. A value of 4 is best "
"unless targeting very high-end systems."
msgstr ""
-"多é‡é‡‡æ ·æŠ—锯齿模å¼ã€‚一个较高的数字会使边缘更平滑,但代价是性能明显下é™ã€‚除éž"
-"是针对éžå¸¸é«˜ç«¯çš„系统,å¦åˆ™æ•°å€¼ä¸º4是最好的。"
+"多é‡é‡‡æ ·æŠ—锯齿模å¼ã€‚数字越高边缘越平滑,但代价是性能明显下é™ã€‚除éžæ˜¯é’ˆå¯¹éžå¸¸"
+"高端的系统,å¦åˆ™æ•°å€¼ä¸º 4 是最好的。"
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], the viewport will use a unique copy of the [World] "
"defined in [member world]."
msgstr ""
-"如果为 [code]true[/code],该视窗将使用 [member world] 中定义的 [World] 的唯一"
+"如果为 [code]true[/code],该视å£å°†ä½¿ç”¨ [member world] 中定义的 [World] 的唯一"
"副本。"
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], the objects rendered by viewport become subjects of "
"mouse picking process."
-msgstr "如果为 [code]true[/code],该视窗渲染的对象将æˆä¸ºé¼ æ ‡æ‹¾å–过程的对象。"
+msgstr "如果为 [code]true[/code],该视å£æ¸²æŸ“的对象将æˆä¸ºé¼ æ ‡æ‹¾å–过程的对象。"
#: doc/classes/Viewport.xml
msgid ""
@@ -84526,7 +84673,7 @@ msgid ""
"information see [method VisualServer.viewport_set_render_direct_to_screen]."
msgstr ""
"如果为 [code]true[/code],会直接将该 Viewport 渲染到å±å¹•ä¸Šï¼Œè€Œä¸æ˜¯æ¸²æŸ“到根视"
-"窗上。åªåœ¨ GLES2 中å¯ç”¨ã€‚这是一个低级别的优化,在大多数情况下ä¸åº”该使用。如果"
+"å£ä¸Šã€‚åªåœ¨ GLES2 中å¯ç”¨ã€‚这是一个低级别的优化,在大多数情况下ä¸åº”该使用。如果"
"使用,从该 Viewport 或从 [code]SCREEN_TEXTURE[/code] 读å–å°†å˜å¾—ä¸å¯ç”¨ã€‚更多信"
"æ¯å‚阅 [method VisualServer.viewport_set_render_direct_to_screen]。"
@@ -84535,12 +84682,12 @@ msgid ""
"The clear mode when viewport used as a render target.\n"
"[b]Note:[/b] This property is intended for 2D usage."
msgstr ""
-"视窗用作渲染目标时的清除模å¼ã€‚\n"
+"视å£ç”¨ä½œæ¸²æŸ“目标时的清除模å¼ã€‚\n"
"[b]注æ„:[/b]此属性适用于 2D 使用。"
#: doc/classes/Viewport.xml
msgid "The update mode when viewport used as a render target."
-msgstr "视窗用作渲染目标时的更新模å¼ã€‚"
+msgstr "视å£ç”¨ä½œæ¸²æŸ“目标时的更新模å¼ã€‚"
#: doc/classes/Viewport.xml
msgid ""
@@ -84598,7 +84745,7 @@ msgid ""
"The width and height of viewport. Must be set to a value greater than or "
"equal to 2 pixels on both dimensions. Otherwise, nothing will be displayed."
msgstr ""
-"视窗的宽度和高度。必须在两个维度上设置为大于或等于 2 åƒç´ çš„值。å¦åˆ™ï¼Œå°†ä¸ä¼šæ˜¾"
+"视å£çš„宽度和高度。必须在两个维度上设置为大于或等于 2 åƒç´ çš„值。å¦åˆ™ï¼Œå°†ä¸ä¼šæ˜¾"
"示任何东西。"
#: doc/classes/Viewport.xml
@@ -84609,11 +84756,14 @@ msgstr "如果为 [code]true[/code],尺寸é‡å†™ä¹Ÿä¼šå½±å“拉伸。"
msgid ""
"If [code]true[/code], the viewport should render its background as "
"transparent."
-msgstr "如果为 [code]true[/code],该视区应使其背景渲染为é€æ˜Žã€‚"
+msgstr "如果为 [code]true[/code],该视å£åº”使其背景渲染为é€æ˜Žã€‚"
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -84657,7 +84807,7 @@ msgid ""
"Emitted when the size of the viewport is changed, whether by [method "
"set_size_override], resize of window, or some other means."
msgstr ""
-"当视窗的大å°è¢«æ”¹å˜æ—¶ï¼Œæ— è®ºæ˜¯é€šè¿‡ [method set_size_override]ã€è°ƒæ•´çª—å£çš„大å°ï¼Œ"
+"当视å£çš„大å°è¢«æ”¹å˜æ—¶ï¼Œæ— è®ºæ˜¯é€šè¿‡ [method set_size_override]ã€è°ƒæ•´çª—å£çš„大å°ï¼Œ"
"还是其他方å¼ï¼Œéƒ½ä¼šè§¦å‘。"
#: doc/classes/Viewport.xml
@@ -84877,10 +85027,10 @@ msgid ""
"[b]Note:[/b] [member stretch] must be [code]true[/code] for this property to "
"work."
msgstr ""
-"将视窗的有效分辨率除以这个值,åŒæ—¶ä¿ç•™å…¶æ¯”例。这å¯ä»¥ç”¨æ¥åŠ å¿«æ¸²æŸ“速度。\n"
-"例如,一个1280×720的视窗,如果[member stretch_shrink]设置为[code]2[/code],将"
-"以640×360的尺寸进行渲染,åŒæ—¶åœ¨å®¹å™¨ä¸­å æ®åŒæ ·çš„尺寸。\n"
-"[b]注æ„:[/b][member stretch]拉伸必须是[code]true[/code],这个属性æ‰èƒ½å‘挥作"
+"将视å£çš„有效分辨率除以这个值,åŒæ—¶ä¿ç•™å…¶æ¯”例。这å¯ä»¥ç”¨æ¥åŠ å¿«æ¸²æŸ“速度。\n"
+"例如,将 1280×720 的视å£çš„ [member stretch_shrink] 设置为 [code]2[/code],将"
+"以 640×360 的尺寸进行渲染,åŒæ—¶åœ¨å®¹å™¨ä¸­å æ®åŒæ ·çš„尺寸。\n"
+"[b]注æ„:[/b][member stretch] 必须是 [code]true[/code],这个属性æ‰èƒ½å‘挥作"
"用。"
#: doc/classes/ViewportTexture.xml
@@ -84945,27 +85095,27 @@ msgstr "返回由给定的 [enum Enabler] 常é‡æ ‡è¯†çš„å¯ç”¨ç¨‹åºæ˜¯å¦å¤„äº
#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml
msgid ""
"Sets active state of the enabler identified by given [enum Enabler] constant."
-msgstr "设置由给定的[enum Enabler]常é‡è¯†åˆ«çš„å¯ç”¨ç¨‹åºçš„活动状æ€ã€‚"
+msgstr "设置由给定的 [enum Enabler] 常é‡è¯†åˆ«çš„å¯ç”¨ç¨‹åºçš„活动状æ€ã€‚"
#: doc/classes/VisibilityEnabler.xml
msgid "If [code]true[/code], [RigidBody] nodes will be paused."
-msgstr "如果为 [code]true[/code],[RigidBody]节点将被暂åœã€‚"
+msgstr "如果为 [code]true[/code],[RigidBody] 节点将被暂åœã€‚"
#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml
msgid "If [code]true[/code], [AnimationPlayer] nodes will be paused."
-msgstr "如果为 [code]true[/code],[AnimationPlayer]节点将被暂åœã€‚"
+msgstr "如果为 [code]true[/code],[AnimationPlayer] 节点将被暂åœã€‚"
#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml
msgid "This enabler will pause [AnimationPlayer] nodes."
-msgstr "这个å¯ç”¨ç¨‹åºå°†æš‚åœ[AnimationPlayer]节点。"
+msgstr "这个å¯ç”¨ç¨‹åºå°†æš‚åœ [AnimationPlayer] 节点。"
#: doc/classes/VisibilityEnabler.xml
msgid "This enabler will freeze [RigidBody] nodes."
-msgstr "这个å¯ç”¨ç¨‹åºå°†å†»ç»“[RigidBody]节点。"
+msgstr "这个å¯ç”¨ç¨‹åºå°†å†»ç»“ [RigidBody] 节点。"
#: doc/classes/VisibilityEnabler.xml doc/classes/VisibilityEnabler2D.xml
msgid "Represents the size of the [enum Enabler] enum."
-msgstr "表示[enum Enabler]枚举的大å°ã€‚"
+msgstr "表示 [enum Enabler] 枚举的大å°ã€‚"
#: doc/classes/VisibilityEnabler2D.xml
msgid ""
@@ -84981,38 +85131,39 @@ msgid ""
"[b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene "
"initialization."
msgstr ""
-"VisibilityEnabler2D会在[RigidBody2D]ã€[AnimationPlayer]和其他节点ä¸å¯è§æ—¶ç¦ç”¨"
-"它们。它åªä¼šå½±å“与VisibilityEnabler2D的根节点相åŒçš„节点,以åŠæ ¹èŠ‚点本身。\n"
-"如果你åªæƒ³æŽ¥æ”¶é€šçŸ¥ï¼Œè¯·ä½¿ç”¨[VisibilityNotifier2D]代替。\n"
-"[b]注æ„:[/b]由于性能原因,VisibilityEnabler2D使用一个近似的å¯å‘å¼æ–¹æ³•ï¼Œå…¶ç²¾"
+"VisibilityEnabler2D 会在 [RigidBody2D]ã€[AnimationPlayer] 和其他节点ä¸å¯è§æ—¶"
+"ç¦ç”¨å®ƒä»¬ã€‚它åªä¼šå½±å“与 VisibilityEnabler2D 的根节点相åŒçš„节点,以åŠæ ¹èŠ‚点本"
+"身。\n"
+"如果你åªæƒ³æŽ¥æ”¶é€šçŸ¥ï¼Œè¯·ä½¿ç”¨ [VisibilityNotifier2D] 代替。\n"
+"[b]注æ„:[/b]由于性能原因,VisibilityEnabler2D 使用一个近似的å¯å‘å¼æ–¹æ³•ï¼Œå…¶ç²¾"
"度由 [member ProjectSettings.world/2d/cell_size] 决定。如果你需è¦ç²¾ç¡®çš„å¯è§æ€§"
-"检查,请使用å¦ä¸€ç§æ–¹æ³•ï¼Œä¾‹å¦‚添加一个[Area2D]节点作为[Camera2D]节点的å­èŠ‚"
+"检查,请使用å¦ä¸€ç§æ–¹æ³•ï¼Œä¾‹å¦‚添加一个 [Area2D] 节点作为 [Camera2D] 节点的å­èŠ‚"
"点。\n"
-"[b]注æ„:[/b]VisibilityEnabler2Dä¸ä¼šå½±å“场景åˆå§‹åŒ–åŽæ·»åŠ çš„节点。"
+"[b]注æ„:[/b]VisibilityEnabler2D ä¸ä¼šå½±å“场景åˆå§‹åŒ–åŽæ·»åŠ çš„节点。"
#: doc/classes/VisibilityEnabler2D.xml
msgid "If [code]true[/code], [RigidBody2D] nodes will be paused."
-msgstr "如果为 [code]true[/code],[RigidBody2D]节点将被暂åœã€‚"
+msgstr "如果为 [code]true[/code],[RigidBody2D] 节点将被暂åœã€‚"
#: doc/classes/VisibilityEnabler2D.xml
msgid "If [code]true[/code], [AnimatedSprite] nodes will be paused."
-msgstr "如果为 [code]true[/code],[AnimatedSprite]节点将被暂åœã€‚"
+msgstr "如果为 [code]true[/code],[AnimatedSprite] 节点将被暂åœã€‚"
#: doc/classes/VisibilityEnabler2D.xml
msgid "If [code]true[/code], [Particles2D] nodes will be paused."
-msgstr "如果为 [code]true[/code],[Particles2D]节点将被暂åœã€‚"
+msgstr "如果为 [code]true[/code],[Particles2D] 节点将被暂åœã€‚"
#: doc/classes/VisibilityEnabler2D.xml
msgid ""
"If [code]true[/code], the parent's [method Node._physics_process] will be "
"stopped."
msgstr ""
-"如果为 [code]true[/code],父级的[method Node._physics_process]将被åœæ­¢ã€‚"
+"如果为 [code]true[/code],父级的 [method Node._physics_process] 将被åœæ­¢ã€‚"
#: doc/classes/VisibilityEnabler2D.xml
msgid ""
"If [code]true[/code], the parent's [method Node._process] will be stopped."
-msgstr "如果为 [code]true[/code],父级的[method Node._process]将被åœæ­¢ã€‚"
+msgstr "如果为 [code]true[/code],父级的 [method Node._process] 将被åœæ­¢ã€‚"
#: doc/classes/VisibilityEnabler2D.xml
msgid "This enabler will freeze [RigidBody2D] nodes."
@@ -85075,7 +85226,7 @@ msgstr ""
#: doc/classes/VisibilityNotifier.xml
msgid "The VisibilityNotifier's bounding box."
-msgstr "VisibilityNotifier的边界框。"
+msgstr "VisibilityNotifier 的边界框。"
#: doc/classes/VisibilityNotifier.xml
msgid ""
@@ -85093,19 +85244,19 @@ msgstr ""
#: doc/classes/VisibilityNotifier.xml
msgid "Emitted when the VisibilityNotifier enters a [Camera]'s view."
-msgstr "当VisibilityNotifier进入[Camera]的视图时触å‘。"
+msgstr "当 VisibilityNotifier 进入 [Camera] 的视图时触å‘。"
#: doc/classes/VisibilityNotifier.xml
msgid "Emitted when the VisibilityNotifier exits a [Camera]'s view."
-msgstr "当VisibilityNotifier退出[Camera]的视图时触å‘。"
+msgstr "当 VisibilityNotifier 退出 [Camera] 的视图时触å‘。"
#: doc/classes/VisibilityNotifier.xml
msgid "Emitted when the VisibilityNotifier enters the screen."
-msgstr "当VisibilityNotifier进入å±å¹•æ—¶è§¦å‘。"
+msgstr "当 VisibilityNotifier 进入å±å¹•æ—¶è§¦å‘。"
#: doc/classes/VisibilityNotifier.xml
msgid "Emitted when the VisibilityNotifier exits the screen."
-msgstr "当VisibilityNotifier退出å±å¹•æ—¶è§¦å‘。"
+msgstr "当 VisibilityNotifier 退出å±å¹•æ—¶è§¦å‘。"
#: doc/classes/VisibilityNotifier2D.xml
msgid ""
@@ -85119,12 +85270,13 @@ msgid ""
"world/2d/cell_size]. If you need precise visibility checking, use another "
"method such as adding an [Area2D] node as a child of a [Camera2D] node."
msgstr ""
-"VisibilityNotifier2D检测它在å±å¹•ä¸Šæ˜¯å¦å¯è§ã€‚当它的边界矩形进入或退出å±å¹•æˆ–视"
-"窗时,它也会å‘出通知。\n"
-"如果你想让节点在退出å±å¹•æ—¶è‡ªåŠ¨ç¦ç”¨ï¼Œè¯·ä½¿ç”¨[VisibilityEnabler2D]代替。\n"
-"[b]注æ„:[/b]由于性能原因,VisibilityNotifier2D使用一个近似的å¯å‘å¼æ–¹æ³•ï¼Œå…¶ç²¾"
-"度由 [member ProjectSettings.world/2d/cell_size] 决定。如果你需è¦ç²¾ç¡®çš„å¯è§æ€§"
-"检查,请使用å¦ä¸€ç§æ–¹æ³•ï¼Œå¦‚添加一个[Area2D]节点作为[Camera2D]节点的å­èŠ‚点。"
+"VisibilityNotifier2D 检测它在å±å¹•ä¸Šæ˜¯å¦å¯è§ã€‚当它的边界矩形进入或退出å±å¹•æˆ–视"
+"å£æ—¶ï¼Œå®ƒä¹Ÿä¼šå‘出通知。\n"
+"如果你想让节点在退出å±å¹•æ—¶è‡ªåŠ¨ç¦ç”¨ï¼Œè¯·ä½¿ç”¨ [VisibilityEnabler2D] 代替。\n"
+"[b]注æ„:[/b]由于性能原因,VisibilityNotifier2D 使用一个近似的å¯å‘å¼æ–¹æ³•ï¼Œå…¶"
+"精度由 [member ProjectSettings.world/2d/cell_size] 决定。如果你需è¦ç²¾ç¡®çš„å¯è§"
+"性检查,请使用å¦ä¸€ç§æ–¹æ³•ï¼Œå¦‚添加一个 [Area2D] 节点作为 [Camera2D] 节点的å­èŠ‚"
+"点。"
#: doc/classes/VisibilityNotifier2D.xml
msgid ""
@@ -85140,27 +85292,27 @@ msgstr ""
#: doc/classes/VisibilityNotifier2D.xml
msgid "The VisibilityNotifier2D's bounding rectangle."
-msgstr "VisibilityNotifier2D的边界矩形。"
+msgstr "VisibilityNotifier2D 的边界矩形。"
#: doc/classes/VisibilityNotifier2D.xml
msgid "Emitted when the VisibilityNotifier2D enters the screen."
-msgstr "当VisibilityNotifier2D进入å±å¹•æ—¶è§¦å‘。"
+msgstr "当 VisibilityNotifier2D 进入å±å¹•æ—¶è§¦å‘。"
#: doc/classes/VisibilityNotifier2D.xml
msgid "Emitted when the VisibilityNotifier2D exits the screen."
-msgstr "当VisibilityNotifier2D退出å±å¹•æ—¶è§¦å‘。"
+msgstr "当 VisibilityNotifier2D 退出å±å¹•æ—¶è§¦å‘。"
#: doc/classes/VisibilityNotifier2D.xml
msgid "Emitted when the VisibilityNotifier2D enters a [Viewport]'s view."
-msgstr "当VisibilityNotifier2D进入[Viewport]的视图时触å‘。"
+msgstr "当 VisibilityNotifier2D 进入 [Viewport] 的视图时触å‘。"
#: doc/classes/VisibilityNotifier2D.xml
msgid "Emitted when the VisibilityNotifier2D exits a [Viewport]'s view."
-msgstr "当VisibilityNotifier2D退出[Viewport]的视图时触å‘。"
+msgstr "当 VisibilityNotifier2D 退出 [Viewport] 的视图时触å‘。"
#: doc/classes/VisualInstance.xml
msgid "Parent of all visual 3D nodes."
-msgstr "所有å¯è§†3D节点的父节点。"
+msgstr "所有å¯è§† 3D 节点的父节点。"
#: doc/classes/VisualInstance.xml
msgid ""
@@ -85181,7 +85333,7 @@ msgid ""
"Returns the [AABB] (also known as the bounding box) for this "
"[VisualInstance]. See also [method get_transformed_aabb]."
msgstr ""
-"返回此[VisualInstance]çš„[AABB],也称为边界框。å‚阅[method "
+"返回此 [VisualInstance] çš„ [AABB],也称为边界框。å¦è¯·å‚阅 [method "
"get_transformed_aabb]。"
#: doc/classes/VisualInstance.xml
@@ -85190,8 +85342,8 @@ msgid ""
"example, if the Node is a [MeshInstance], this will return the RID of the "
"associated [Mesh]."
msgstr ""
-"返回与此[VisualInstance]相关的资æºçš„RID。例如,如果该节点是一个"
-"[MeshInstance],这将返回相关的[Mesh]的RID。"
+"返回与此 [VisualInstance] 相关的资æºçš„ RID。例如,如果该节点是一个 "
+"[MeshInstance],这将返回相关的 [Mesh] 的 RID。"
#: doc/classes/VisualInstance.xml
msgid ""
@@ -85199,9 +85351,9 @@ msgid ""
"by [method VisualServer.instance_create]. This RID is needed if you want to "
"call [VisualServer] functions directly on this [VisualInstance]."
msgstr ""
-"返回这个实例的RID。这个RID与[method VisualServer.instance_create]所返回的RID"
-"相åŒã€‚如果你想在这个[VisualInstance]上直接调用[VisualServer]函数,就需è¦è¿™ä¸ª"
-"RID。"
+"返回这个实例的 RID。这个 RID 与 [method VisualServer.instance_create] 所返回"
+"çš„ RID 相åŒã€‚如果你想在这个 [VisualInstance] 上直接调用 [VisualServer] 函数,"
+"就需è¦è¿™ä¸ª RID。"
#: doc/classes/VisualInstance.xml
msgid ""
@@ -85218,9 +85370,9 @@ msgid ""
"Transformed in this case means the [AABB] plus the position, rotation, and "
"scale of the [Spatial]'s [Transform]. See also [method get_aabb]."
msgstr ""
-"返回此[VisualInstance]çš„å˜æ¢åŽçš„[AABB],也称为边界框。\n"
-"这里的å˜æ¢æ˜¯æŒ‡[AABB]加上[Spatial]çš„[Transform]çš„ä½ç½®ã€æ—‹è½¬å’Œç¼©æ”¾ã€‚å‚阅"
-"[method get_aabb]。"
+"返回此 [VisualInstance] çš„å˜æ¢åŽçš„ [AABB],也称为边界框。\n"
+"这里的å˜æ¢æ˜¯æŒ‡ [AABB] 加上 [Spatial] çš„ [Transform] çš„ä½ç½®ã€æ—‹è½¬å’Œç¼©æ”¾ã€‚å¦è¯·"
+"å‚阅 [method get_aabb]。"
#: doc/classes/VisualInstance.xml
msgid ""
@@ -85242,7 +85394,23 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
"绘制此 [VisualInstance] 的渲染层。\n"
-"此对象仅对[Camera]å¯è§ï¼Œå…¶å‰”除é®ç½©åŒ…括此[VisualInstance]设置的渲染对象。"
+"此对象仅对 [Camera]å¯è§ï¼Œå…¶å‰”除é®ç½©åŒ…括此 [VisualInstance] 设置的渲染对象。"
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
@@ -85320,13 +85488,13 @@ msgid ""
"[code]from_port[/code] would be fed into [code]to_node[/code]'s "
"[code]to_port[/code]."
msgstr ""
-"连接两个数æ®ç«¯å£ã€‚[code]from_node[/code]çš„[code]from_port[/code]的值将被输入"
-"[code]to_node[/code]的[code]to_port[/code]。"
+"连接两个数æ®ç«¯å£ã€‚[code]from_node[/code] çš„ [code]from_port[/code] 的值将被输"
+"入 [code]to_node[/code] 的 [code]to_port[/code]。"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid ""
"Disconnect two data ports previously connected with [method data_connect]."
-msgstr "断开之å‰ç”¨[method data_connect]连接的两个数æ®ç«¯å£ã€‚"
+msgstr "断开之å‰ç”¨ [method data_connect] 连接的两个数æ®ç«¯å£ã€‚"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "Returns the id of a function's entry point node."
@@ -85346,7 +85514,7 @@ msgstr "返回节点的å标,å•ä½æ˜¯åƒç´ ã€‚"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "Returns the default (initial) value of a variable."
-msgstr "返回å˜é‡çš„åˆå§‹é»˜è®¤å€¼ã€‚"
+msgstr "返回å˜é‡çš„默认(åˆå§‹ï¼‰å€¼ã€‚"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "Returns whether a variable is exported."
@@ -85418,10 +85586,10 @@ msgid ""
"Unlike [method data_connect], there isn't a [code]to_port[/code], since the "
"target node can have only one sequence port."
msgstr ""
-"连接两个åºåˆ—端å£ã€‚执行将从[code]from_node[/code]çš„[code]from_output[/code]输"
-"入[code]to_node[/code]。\n"
-"与[method data_connect]ä¸åŒï¼Œæ²¡æœ‰[code]to_port[/code],因为目标节点åªèƒ½æœ‰ä¸€ä¸ª"
-"åºåˆ—端å£ã€‚"
+"连接两个åºåˆ—端å£ã€‚执行将从 [code]from_node[/code] çš„ [code]from_output[/"
+"code] 输入 [code]to_node[/code]。\n"
+"与 [method data_connect] ä¸åŒï¼Œæ²¡æœ‰ [code]to_port[/code],因为目标节点åªèƒ½æœ‰"
+"一个åºåˆ—端å£ã€‚"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid ""
@@ -94604,8 +94772,8 @@ msgid ""
"scenario, a navigation map and a sound space. Spatial nodes register their "
"resources into the current world."
msgstr ""
-"拥有与世界相关的一切的类。物ç†ç©ºé—´ã€è§†è§‰åœºæ™¯ã€å¯¼èˆªåœ°å›¾å’Œå£°éŸ³ç©ºé—´ã€‚空间节点将"
-"其资æºæ³¨å†Œåˆ°å½“å‰ä¸–界中。"
+"拥有与世界相关的一切的类。物ç†ç©ºé—´ã€è§†è§‰åœºæ™¯ã€å¯¼èˆªåœ°å›¾å’Œå£°éŸ³ç©ºé—´ã€‚Spatial 节"
+"点将其资æºæ³¨å†Œåˆ°å½“å‰ä¸–界中。"
#: doc/classes/World.xml
msgid ""
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po
index fb62e692a7..a64bd25054 100644
--- a/doc/translations/zh_TW.po
+++ b/doc/translations/zh_TW.po
@@ -4,7 +4,7 @@
# This file is distributed under the same license as the Godot source code.
#
# binotaliu <binota@protonmail.ch>, 2020.
-# BinotaLIU <me@binota.org>, 2020.
+# BinotaLIU <me@binota.org>, 2020, 2022.
# Eric K <eric900601@gmail.com>, 2020.
# Pierre Stempin <pierre.stempin@gmail.com>, 2020.
# Lihan Zhu <lihan@proctorio.com>, 2021.
@@ -19,8 +19,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-25 13:04+0000\n"
-"Last-Translator: Hugel <qihu@nfschina.com>\n"
+"PO-Revision-Date: 2022-10-12 06:50+0000\n"
+"Last-Translator: BinotaLIU <me@binota.org>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -28,7 +28,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 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -88,7 +88,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "Default"
-msgstr "默èª"
+msgstr "é è¨­"
#: doc/tools/make_rst.py
msgid "Setter"
@@ -120,7 +120,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "This method is used to construct a type."
-msgstr "此方法用於構造類型。"
+msgstr "此方法用於建構型別。"
#: doc/tools/make_rst.py
msgid ""
@@ -570,7 +570,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -585,7 +586,11 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -965,12 +970,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -3589,6 +3598,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr ""
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr ""
@@ -4273,8 +4302,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -7196,7 +7224,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -7381,6 +7412,9 @@ msgstr ""
#: doc/classes/Array.xml
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -7400,9 +7434,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -10041,10 +10079,9 @@ msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
@@ -10576,14 +10613,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -10593,22 +10630,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -19407,6 +19444,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr ""
@@ -22241,7 +22286,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -32980,7 +33028,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -36309,7 +36359,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
@@ -36559,7 +36612,10 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37276,6 +37332,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -40086,7 +40145,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -40602,11 +40663,11 @@ msgstr "回傳åƒæ•¸çš„正切值。"
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40640,11 +40701,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -40666,11 +40727,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42532,6 +42593,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -50133,15 +50204,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51738,17 +51816,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -51757,8 +51846,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -54474,7 +54569,11 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56312,7 +56411,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -57690,7 +57791,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -57706,7 +57810,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -66994,10 +67100,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -67008,8 +67119,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -67161,7 +67272,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -67693,6 +67806,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
diff --git a/drivers/gles3/effects/copy_effects.cpp b/drivers/gles3/effects/copy_effects.cpp
index b552b52cd5..58cdc90a7c 100644
--- a/drivers/gles3/effects/copy_effects.cpp
+++ b/drivers/gles3/effects/copy_effects.cpp
@@ -148,8 +148,8 @@ void CopyEffects::bilinear_blur(GLuint p_source_texture, int p_mipmap_count, con
dest_region.size.y = MAX(1, dest_region.size.y >> 1);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffers[i % 2]);
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, p_source_texture, i);
- glBlitFramebuffer(source_region.position.x, source_region.position.y, source_region.size.x, source_region.size.y,
- dest_region.position.x, dest_region.position.y, dest_region.size.x, dest_region.size.y, GL_COLOR_BUFFER_BIT, GL_LINEAR);
+ glBlitFramebuffer(source_region.position.x, source_region.position.y, source_region.position.x + source_region.size.x, source_region.position.y + source_region.size.y,
+ dest_region.position.x, dest_region.position.y, dest_region.position.x + dest_region.size.x, dest_region.position.y + dest_region.size.y, GL_COLOR_BUFFER_BIT, GL_LINEAR);
glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffers[i % 2]);
source_region = dest_region;
}
diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp
index c7e7227916..7b39641029 100644
--- a/drivers/gles3/rasterizer_canvas_gles3.cpp
+++ b/drivers/gles3/rasterizer_canvas_gles3.cpp
@@ -588,10 +588,12 @@ void RasterizerCanvasGLES3::_render_items(RID p_to_render_target, int p_item_cou
material = default_clip_children_material;
}
} else {
- if (ci->canvas_group->mode == RS::CANVAS_GROUP_MODE_CLIP_ONLY) {
- material = default_clip_children_material;
- } else {
- material = default_canvas_group_material;
+ if (material.is_null()) {
+ if (ci->canvas_group->mode == RS::CANVAS_GROUP_MODE_CLIP_ONLY) {
+ material = default_clip_children_material;
+ } else {
+ material = default_canvas_group_material;
+ }
}
}
}
diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp
index a5f6f449a6..704935e163 100644
--- a/editor/animation_track_editor_plugins.cpp
+++ b/editor/animation_track_editor_plugins.cpp
@@ -857,18 +857,14 @@ void AnimationTrackEditTypeAudio::draw_key(int p_index, float p_pixels_sec, int
float start_ofs = get_animation()->audio_track_get_key_start_offset(get_track(), p_index);
float end_ofs = get_animation()->audio_track_get_key_end_offset(get_track(), p_index);
+ int px_offset = 0;
if (len_resizing && p_index == len_resizing_index) {
- float ofs_local = -len_resizing_rel / get_timeline()->get_zoom_scale();
+ float ofs_local = len_resizing_rel / get_timeline()->get_zoom_scale();
if (len_resizing_start) {
start_ofs += ofs_local;
- if (start_ofs < 0) {
- start_ofs = 0;
- }
+ px_offset = ofs_local * p_pixels_sec;
} else {
- end_ofs += ofs_local;
- if (end_ofs < 0) {
- end_ofs = 0;
- }
+ end_ofs -= ofs_local;
}
}
@@ -897,8 +893,8 @@ void AnimationTrackEditTypeAudio::draw_key(int p_index, float p_pixels_sec, int
int pixel_len = len * p_pixels_sec;
- int pixel_begin = p_x;
- int pixel_end = p_x + pixel_len;
+ int pixel_begin = px_offset + p_x;
+ int pixel_end = px_offset + p_x + pixel_len;
if (pixel_end < p_clip_left) {
return;
@@ -1061,9 +1057,6 @@ void AnimationTrackEditTypeAudio::gui_input(const Ref<InputEvent> &p_event) {
len -= end_ofs;
len -= start_ofs;
- if (len <= 0.001) {
- len = 0.001;
- }
if (get_animation()->track_get_key_count(get_track()) > i + 1) {
len = MIN(len, get_animation()->track_get_key_time(get_track(), i + 1) - get_animation()->track_get_key_time(get_track(), i));
@@ -1078,6 +1071,13 @@ void AnimationTrackEditTypeAudio::gui_input(const Ref<InputEvent> &p_event) {
int end = ofs + len * get_timeline()->get_zoom_scale();
if (end >= get_timeline()->get_name_limit() && end <= get_size().width - get_timeline()->get_buttons_width() && ABS(mm->get_position().x - end) < 5 * EDSCALE) {
+ len_resizing_start = false;
+ use_hsize_cursor = true;
+ len_resizing_index = i;
+ }
+
+ if (ofs >= get_timeline()->get_name_limit() && ofs <= get_size().width - get_timeline()->get_buttons_width() && ABS(mm->get_position().x - ofs) < 5 * EDSCALE) {
+ len_resizing_start = true;
use_hsize_cursor = true;
len_resizing_index = i;
}
@@ -1086,8 +1086,25 @@ void AnimationTrackEditTypeAudio::gui_input(const Ref<InputEvent> &p_event) {
}
if (len_resizing && mm.is_valid()) {
+ // Rezising index is some.
len_resizing_rel += mm->get_relative().x;
- len_resizing_start = mm->is_shift_pressed();
+ float ofs_local = len_resizing_rel / get_timeline()->get_zoom_scale();
+ float prev_ofs_start = get_animation()->audio_track_get_key_start_offset(get_track(), len_resizing_index);
+ float prev_ofs_end = get_animation()->audio_track_get_key_end_offset(get_track(), len_resizing_index);
+ Ref<AudioStream> stream = get_animation()->audio_track_get_key_stream(get_track(), len_resizing_index);
+ float len = stream->get_length();
+ if (len == 0) {
+ Ref<AudioStreamPreview> preview = AudioStreamPreviewGenerator::get_singleton()->generate_preview(stream);
+ float preview_len = preview->get_length();
+ len = preview_len;
+ }
+
+ if (len_resizing_start) {
+ len_resizing_rel = CLAMP(ofs_local, -prev_ofs_start, len - prev_ofs_end - prev_ofs_start) * get_timeline()->get_zoom_scale();
+ } else {
+ len_resizing_rel = CLAMP(ofs_local, -(len - prev_ofs_end - prev_ofs_start), prev_ofs_end) * get_timeline()->get_zoom_scale();
+ }
+
queue_redraw();
accept_event();
return;
@@ -1096,7 +1113,11 @@ void AnimationTrackEditTypeAudio::gui_input(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseButton> mb = p_event;
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT && over_drag_position) {
len_resizing = true;
- len_resizing_start = mb->is_shift_pressed();
+ // In case if resizing index is not set yet reset the flag.
+ if (len_resizing_index < 0) {
+ len_resizing = false;
+ return;
+ }
len_resizing_from_px = mb->get_position().x;
len_resizing_rel = 0;
queue_redraw();
@@ -1106,23 +1127,42 @@ void AnimationTrackEditTypeAudio::gui_input(const Ref<InputEvent> &p_event) {
Ref<EditorUndoRedoManager> &undo_redo = EditorNode::get_undo_redo();
if (len_resizing && mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) {
- float ofs_local = -len_resizing_rel / get_timeline()->get_zoom_scale();
+ if (len_resizing_rel == 0 || len_resizing_index < 0) {
+ len_resizing = false;
+ return;
+ }
+
if (len_resizing_start) {
+ float ofs_local = len_resizing_rel / get_timeline()->get_zoom_scale();
float prev_ofs = get_animation()->audio_track_get_key_start_offset(get_track(), len_resizing_index);
- undo_redo->create_action(TTR("Change Audio Track Clip Start Offset"));
- undo_redo->add_do_method(get_animation().ptr(), "audio_track_set_key_start_offset", get_track(), len_resizing_index, prev_ofs + ofs_local);
- undo_redo->add_undo_method(get_animation().ptr(), "audio_track_set_key_start_offset", get_track(), len_resizing_index, prev_ofs);
- undo_redo->commit_action();
+ float prev_time = get_animation()->track_get_key_time(get_track(), len_resizing_index);
+ float new_ofs = prev_ofs + ofs_local;
+ float new_time = prev_time + ofs_local;
+ if (prev_time != new_time) {
+ undo_redo->create_action(TTR("Change Audio Track Clip Start Offset"));
+
+ undo_redo->add_do_method(get_animation().ptr(), "track_set_key_time", get_track(), len_resizing_index, new_time);
+ undo_redo->add_undo_method(get_animation().ptr(), "track_set_key_time", get_track(), len_resizing_index, prev_time);
+
+ undo_redo->add_do_method(get_animation().ptr(), "audio_track_set_key_start_offset", get_track(), len_resizing_index, new_ofs);
+ undo_redo->add_undo_method(get_animation().ptr(), "audio_track_set_key_start_offset", get_track(), len_resizing_index, prev_ofs);
+ undo_redo->commit_action();
+ }
} else {
+ float ofs_local = -len_resizing_rel / get_timeline()->get_zoom_scale();
float prev_ofs = get_animation()->audio_track_get_key_end_offset(get_track(), len_resizing_index);
- undo_redo->create_action(TTR("Change Audio Track Clip End Offset"));
- undo_redo->add_do_method(get_animation().ptr(), "audio_track_set_key_end_offset", get_track(), len_resizing_index, prev_ofs + ofs_local);
- undo_redo->add_undo_method(get_animation().ptr(), "audio_track_set_key_end_offset", get_track(), len_resizing_index, prev_ofs);
- undo_redo->commit_action();
+ float new_ofs = prev_ofs + ofs_local;
+ if (prev_ofs != new_ofs) {
+ undo_redo->create_action(TTR("Change Audio Track Clip End Offset"));
+ undo_redo->add_do_method(get_animation().ptr(), "audio_track_set_key_end_offset", get_track(), len_resizing_index, new_ofs);
+ undo_redo->add_undo_method(get_animation().ptr(), "audio_track_set_key_end_offset", get_track(), len_resizing_index, prev_ofs);
+ undo_redo->commit_action();
+ }
}
len_resizing_index = -1;
+ len_resizing = false;
queue_redraw();
accept_event();
return;
diff --git a/editor/import/dynamic_font_import_settings.cpp b/editor/import/dynamic_font_import_settings.cpp
index 75d0abbb0c..afcfacdf75 100644
--- a/editor/import/dynamic_font_import_settings.cpp
+++ b/editor/import/dynamic_font_import_settings.cpp
@@ -954,9 +954,18 @@ void DynamicFontImportSettings::_re_import() {
Dictionary preload_config;
preload_config["name"] = vars_item->get_text(0);
+ Size2i conf_size = Vector2i(16, 0);
for (const KeyValue<StringName, Variant> &E : import_variation_data->settings) {
- preload_config[E.key] = E.value;
+ if (E.key == "size") {
+ conf_size.x = E.value;
+ }
+ if (E.key == "outline_size") {
+ conf_size.y = E.value;
+ } else {
+ preload_config[E.key] = E.value;
+ }
}
+ preload_config["size"] = conf_size;
Array chars;
for (const char32_t &E : import_variation_data->selected_chars) {
diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp
index e64b80abbd..7d64055cc3 100644
--- a/editor/plugins/animation_blend_space_1d_editor.cpp
+++ b/editor/plugins/animation_blend_space_1d_editor.cpp
@@ -46,6 +46,11 @@ StringName AnimationNodeBlendSpace1DEditor::get_blend_position_path() const {
}
void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEvent> &p_event) {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
Ref<InputEventKey> k = p_event;
if (tool_select->is_pressed() && k.is_valid() && k->is_pressed() && k->get_keycode() == Key::KEY_DELETE && !k->is_echo()) {
@@ -71,11 +76,8 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
menu->add_submenu_item(TTR("Add Animation"), "animations");
- AnimationTree *gp = AnimationTreeEditor::get_singleton()->get_animation_tree();
- ERR_FAIL_COND(!gp);
-
- if (gp->has_node(gp->get_animation_player())) {
- AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(gp->get_node(gp->get_animation_player()));
+ if (tree->has_node(tree->get_animation_player())) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(tree->get_node(tree->get_animation_player()));
if (ap) {
List<StringName> names;
@@ -180,7 +182,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= blend_space->get_max_space() - blend_space->get_min_space();
blend_pos += blend_space->get_min_space();
- AnimationTreeEditor::get_singleton()->get_animation_tree()->set(get_blend_position_path(), blend_pos);
+ tree->set(get_blend_position_path(), blend_pos);
blend_space_draw->queue_redraw();
}
@@ -203,13 +205,18 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= blend_space->get_max_space() - blend_space->get_min_space();
blend_pos += blend_space->get_min_space();
- AnimationTreeEditor::get_singleton()->get_animation_tree()->set(get_blend_position_path(), blend_pos);
+ tree->set(get_blend_position_path(), blend_pos);
blend_space_draw->queue_redraw();
}
}
void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
Color linecolor = get_theme_color(SNAME("font_color"), SNAME("Label"));
Color linecolor_soft = linecolor;
linecolor_soft.a *= 0.5;
@@ -301,7 +308,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
color.a *= 0.5;
}
- float point = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(get_blend_position_path());
+ float point = tree->get(get_blend_position_path());
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
point *= s.width;
@@ -575,12 +582,17 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) {
} break;
case NOTIFICATION_PROCESS: {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
String error;
- if (!AnimationTreeEditor::get_singleton()->get_animation_tree()->is_active()) {
+ if (!tree->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (AnimationTreeEditor::get_singleton()->get_animation_tree()->is_state_invalid()) {
- error = AnimationTreeEditor::get_singleton()->get_animation_tree()->get_invalid_state_reason();
+ } else if (tree->is_state_invalid()) {
+ error = tree->get_invalid_state_reason();
}
if (error != error_label->get_text()) {
diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp
index 4d8e972883..526f69732b 100644
--- a/editor/plugins/animation_blend_space_2d_editor.cpp
+++ b/editor/plugins/animation_blend_space_2d_editor.cpp
@@ -95,6 +95,11 @@ StringName AnimationNodeBlendSpace2DEditor::get_blend_position_path() const {
}
void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEvent> &p_event) {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
Ref<InputEventKey> k = p_event;
if (tool_select->is_pressed() && k.is_valid() && k->is_pressed() && k->get_keycode() == Key::KEY_DELETE && !k->is_echo()) {
if (selected_point != -1 || selected_triangle != -1) {
@@ -118,10 +123,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
ClassDB::get_inheriters_from_class("AnimationRootNode", &classes);
menu->add_submenu_item(TTR("Add Animation"), "animations");
- AnimationTree *gp = AnimationTreeEditor::get_singleton()->get_animation_tree();
- ERR_FAIL_COND(!gp);
- if (gp && gp->has_node(gp->get_animation_player())) {
- AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(gp->get_node(gp->get_animation_player()));
+ if (tree->has_node(tree->get_animation_player())) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(tree->get_node(tree->get_animation_player()));
if (ap) {
List<StringName> names;
ap->get_animation_list(&names);
@@ -275,7 +278,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= (blend_space->get_max_space() - blend_space->get_min_space());
blend_pos += blend_space->get_min_space();
- AnimationTreeEditor::get_singleton()->get_animation_tree()->set(get_blend_position_path(), blend_pos);
+ tree->set(get_blend_position_path(), blend_pos);
blend_space_draw->queue_redraw();
}
@@ -311,7 +314,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= (blend_space->get_max_space() - blend_space->get_min_space());
blend_pos += blend_space->get_min_space();
- AnimationTreeEditor::get_singleton()->get_animation_tree()->set(get_blend_position_path(), blend_pos);
+ tree->set(get_blend_position_path(), blend_pos);
blend_space_draw->queue_redraw();
}
@@ -438,6 +441,11 @@ void AnimationNodeBlendSpace2DEditor::_tool_switch(int p_tool) {
}
void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
Color linecolor = get_theme_color(SNAME("font_color"), SNAME("Label"));
Color linecolor_soft = linecolor;
linecolor_soft.a *= 0.5;
@@ -596,7 +604,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
color.a *= 0.5;
}
- Vector2 blend_pos = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(get_blend_position_path());
+ Vector2 blend_pos = tree->get(get_blend_position_path());
Vector2 point = blend_pos;
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
@@ -806,14 +814,19 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) {
} break;
case NOTIFICATION_PROCESS: {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
String error;
- if (!AnimationTreeEditor::get_singleton()->get_animation_tree()) {
+ if (!tree) {
error = TTR("BlendSpace2D does not belong to an AnimationTree node.");
- } else if (!AnimationTreeEditor::get_singleton()->get_animation_tree()->is_active()) {
+ } else if (!tree->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (AnimationTreeEditor::get_singleton()->get_animation_tree()->is_state_invalid()) {
- error = AnimationTreeEditor::get_singleton()->get_animation_tree()->get_invalid_state_reason();
+ } else if (tree->is_state_invalid()) {
+ error = tree->get_invalid_state_reason();
} else if (blend_space->get_triangle_count() == 0) {
error = TTR("No triangles exist, so no blending can take place.");
}
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp
index dbd1b12a94..509caa78ef 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp
@@ -99,6 +99,9 @@ Size2 AnimationNodeBlendTreeEditor::get_minimum_size() const {
void AnimationNodeBlendTreeEditor::_property_changed(const StringName &p_property, const Variant &p_value, const String &p_field, bool p_changing) {
AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
updating = true;
Ref<EditorUndoRedoManager> &undo_redo = EditorNode::get_undo_redo();
undo_redo->create_action(TTR("Parameter Changed:") + " " + String(p_property), UndoRedo::MERGE_ENDS);
@@ -115,6 +118,11 @@ void AnimationNodeBlendTreeEditor::update_graph() {
return;
}
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
visible_properties.clear();
graph->set_scroll_ofs(blend_tree->get_graph_offset() * EDSCALE);
@@ -177,10 +185,10 @@ void AnimationNodeBlendTreeEditor::update_graph() {
continue;
}
String base_path = AnimationTreeEditor::get_singleton()->get_base_path() + String(E) + "/" + F.name;
- EditorProperty *prop = EditorInspector::instantiate_property_editor(AnimationTreeEditor::get_singleton()->get_animation_tree(), F.type, base_path, F.hint, F.hint_string, F.usage);
+ EditorProperty *prop = EditorInspector::instantiate_property_editor(tree, F.type, base_path, F.hint, F.hint_string, F.usage);
if (prop) {
prop->set_read_only(read_only);
- prop->set_object_and_property(AnimationTreeEditor::get_singleton()->get_animation_tree(), base_path);
+ prop->set_object_and_property(tree, base_path);
prop->update_property();
prop->set_name_split_ratio(0);
prop->connect("property_changed", callable_mp(this, &AnimationNodeBlendTreeEditor::_property_changed));
@@ -228,9 +236,8 @@ void AnimationNodeBlendTreeEditor::update_graph() {
ProgressBar *pb = memnew(ProgressBar);
- AnimationTree *player = AnimationTreeEditor::get_singleton()->get_animation_tree();
- if (player->has_node(player->get_animation_player())) {
- AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(player->get_node(player->get_animation_player()));
+ if (tree->has_node(tree->get_animation_player())) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(tree->get_node(tree->get_animation_player()));
if (ap) {
List<StringName> anims;
ap->get_animation_list(&anims);
@@ -601,14 +608,19 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
return false;
}
- NodePath player_path = AnimationTreeEditor::get_singleton()->get_animation_tree()->get_animation_player();
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return false;
+ }
+
+ NodePath player_path = tree->get_animation_player();
- if (!AnimationTreeEditor::get_singleton()->get_animation_tree()->has_node(player_path)) {
+ if (!tree->has_node(player_path)) {
EditorNode::get_singleton()->show_warning(TTR("No animation player set, so unable to retrieve track names."));
return false;
}
- AnimationPlayer *player = Object::cast_to<AnimationPlayer>(AnimationTreeEditor::get_singleton()->get_animation_tree()->get_node(player_path));
+ AnimationPlayer *player = Object::cast_to<AnimationPlayer>(tree->get_node(player_path));
if (!player) {
EditorNode::get_singleton()->show_warning(TTR("Player path set is invalid, so unable to retrieve track names."));
return false;
@@ -839,12 +851,17 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
} break;
case NOTIFICATION_PROCESS: {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return; // Node has been changed.
+ }
+
String error;
- if (!AnimationTreeEditor::get_singleton()->get_animation_tree()->is_active()) {
+ if (!tree->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (AnimationTreeEditor::get_singleton()->get_animation_tree()->is_state_invalid()) {
- error = AnimationTreeEditor::get_singleton()->get_animation_tree()->get_invalid_state_reason();
+ } else if (tree->is_state_invalid()) {
+ error = tree->get_invalid_state_reason();
}
if (error != error_label->get_text()) {
@@ -861,16 +878,15 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
for (const AnimationNodeBlendTree::NodeConnection &E : conns) {
float activity = 0;
StringName path = AnimationTreeEditor::get_singleton()->get_base_path() + E.input_node;
- if (AnimationTreeEditor::get_singleton()->get_animation_tree() && !AnimationTreeEditor::get_singleton()->get_animation_tree()->is_state_invalid()) {
- activity = AnimationTreeEditor::get_singleton()->get_animation_tree()->get_connection_activity(path, E.input_index);
+ if (!tree->is_state_invalid()) {
+ activity = tree->get_connection_activity(path, E.input_index);
}
graph->set_connection_activity(E.output_node, 0, E.input_node, E.input_index, activity);
}
- AnimationTree *graph_player = AnimationTreeEditor::get_singleton()->get_animation_tree();
AnimationPlayer *player = nullptr;
- if (graph_player->has_node(graph_player->get_animation_player())) {
- player = Object::cast_to<AnimationPlayer>(graph_player->get_node(graph_player->get_animation_player()));
+ if (tree->has_node(tree->get_animation_player())) {
+ player = Object::cast_to<AnimationPlayer>(tree->get_node(tree->get_animation_player()));
}
if (player) {
@@ -883,7 +899,7 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
E.value->set_max(anim->get_length());
//StringName path = AnimationTreeEditor::get_singleton()->get_base_path() + E.input_node;
StringName time_path = AnimationTreeEditor::get_singleton()->get_base_path() + String(E.key) + "/time";
- E.value->set_value(AnimationTreeEditor::get_singleton()->get_animation_tree()->get(time_path));
+ E.value->set_value(tree->get(time_path));
}
}
}
@@ -937,6 +953,11 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
return;
}
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
String prev_name = blend_tree->get_node_name(p_node);
ERR_FAIL_COND(prev_name.is_empty());
GraphNode *gn = Object::cast_to<GraphNode>(graph->get_node(prev_name));
@@ -965,8 +986,8 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
undo_redo->create_action(TTR("Node Renamed"));
undo_redo->add_do_method(blend_tree.ptr(), "rename_node", prev_name, name);
undo_redo->add_undo_method(blend_tree.ptr(), "rename_node", name, prev_name);
- undo_redo->add_do_method(AnimationTreeEditor::get_singleton()->get_animation_tree(), "rename_parameter", base_path + prev_name, base_path + name);
- undo_redo->add_undo_method(AnimationTreeEditor::get_singleton()->get_animation_tree(), "rename_parameter", base_path + name, base_path + prev_name);
+ undo_redo->add_do_method(tree, "rename_parameter", base_path + prev_name, base_path + name);
+ undo_redo->add_undo_method(tree, "rename_parameter", base_path + name, base_path + prev_name);
undo_redo->add_do_method(this, "update_graph");
undo_redo->add_undo_method(this, "update_graph");
undo_redo->commit_action();
diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp
index ef9477abea..66a0c746d9 100644
--- a/editor/plugins/animation_state_machine_editor.cpp
+++ b/editor/plugins/animation_state_machine_editor.cpp
@@ -79,7 +79,12 @@ void AnimationNodeStateMachineEditor::edit(const Ref<AnimationNode> &p_node) {
}
void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEvent> &p_event) {
- Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
+ Ref<AnimationNodeStateMachinePlayback> playback = tree->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
if (playback.is_null()) {
return;
}
@@ -736,6 +741,11 @@ void AnimationNodeStateMachineEditor::_ungroup_selected_nodes() {
}
void AnimationNodeStateMachineEditor::_open_menu(const Vector2 &p_position) {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
menu->clear();
animations_menu->clear();
animations_to_add.clear();
@@ -745,10 +755,8 @@ void AnimationNodeStateMachineEditor::_open_menu(const Vector2 &p_position) {
ClassDB::get_inheriters_from_class("AnimationRootNode", &classes);
menu->add_submenu_item(TTR("Add Animation"), "animations");
- AnimationTree *gp = AnimationTreeEditor::get_singleton()->get_animation_tree();
- ERR_FAIL_COND(!gp);
- if (gp && gp->has_node(gp->get_animation_player())) {
- AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(gp->get_node(gp->get_animation_player()));
+ if (tree->has_node(tree->get_animation_player())) {
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(tree->get_node(tree->get_animation_player()));
if (ap) {
List<StringName> names;
ap->get_animation_list(&names);
@@ -1192,7 +1200,12 @@ void AnimationNodeStateMachineEditor::_clip_dst_line_to_rect(const Vector2 &p_fr
}
void AnimationNodeStateMachineEditor::_state_machine_draw() {
- Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
+ Ref<AnimationNodeStateMachinePlayback> playback = tree->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
Ref<StyleBoxFlat> style = get_theme_stylebox(SNAME("state_machine_frame"), SNAME("GraphNode"));
Ref<StyleBoxFlat> style_selected = get_theme_stylebox(SNAME("state_machine_selected_frame"), SNAME("GraphNode"));
@@ -1380,7 +1393,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
}
StringName fullpath = AnimationTreeEditor::get_singleton()->get_base_path() + String(tl.advance_condition_name);
- if (tl.advance_condition_name != StringName() && bool(AnimationTreeEditor::get_singleton()->get_animation_tree()->get(fullpath))) {
+ if (tl.advance_condition_name != StringName() && bool(tree->get(fullpath))) {
tl.advance_condition_state = true;
tl.auto_advance = true;
}
@@ -1495,7 +1508,12 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
}
void AnimationNodeStateMachineEditor::_state_machine_pos_draw() {
- Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
+ Ref<AnimationNodeStateMachinePlayback> playback = tree->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
if (!playback.is_valid() || !playback->is_playing()) {
return;
@@ -1587,17 +1605,22 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
} break;
case NOTIFICATION_PROCESS: {
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_animation_tree();
+ if (!tree) {
+ return;
+ }
+
String error;
- Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+ Ref<AnimationNodeStateMachinePlayback> playback = tree->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
if (error_time > 0) {
error = error_text;
error_time -= get_process_delta_time();
- } else if (!AnimationTreeEditor::get_singleton()->get_animation_tree()->is_active()) {
+ } else if (!tree->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (AnimationTreeEditor::get_singleton()->get_animation_tree()->is_state_invalid()) {
- error = AnimationTreeEditor::get_singleton()->get_animation_tree()->get_invalid_state_reason();
+ } else if (tree->is_state_invalid()) {
+ error = tree->get_invalid_state_reason();
/*} else if (state_machine->get_parent().is_valid() && state_machine->get_parent()->is_class("AnimationNodeStateMachine")) {
if (state_machine->get_start_node() == StringName() || state_machine->get_end_node() == StringName()) {
error = TTR("Start and end nodes are needed for a sub-transition.");
@@ -1649,7 +1672,7 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
break;
}
- bool acstate = transition_lines[i].advance_condition_name != StringName() && bool(AnimationTreeEditor::get_singleton()->get_animation_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + String(transition_lines[i].advance_condition_name)));
+ bool acstate = transition_lines[i].advance_condition_name != StringName() && bool(tree->get(AnimationTreeEditor::get_singleton()->get_base_path() + String(transition_lines[i].advance_condition_name)));
if (transition_lines[i].advance_condition_state != acstate) {
state_machine_draw->queue_redraw();
@@ -1704,7 +1727,7 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
Ref<AnimationNodeStateMachinePlayback> current_node_playback;
while (anodesm.is_valid()) {
- current_node_playback = AnimationTreeEditor::get_singleton()->get_animation_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + next + "/playback");
+ current_node_playback = tree->get(AnimationTreeEditor::get_singleton()->get_base_path() + next + "/playback");
next += "/" + current_node_playback->get_current_node();
anodesm = anodesm->get_node(current_node_playback->get_current_node());
}
diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp
index 61aa861a3f..c31a2689ec 100644
--- a/editor/plugins/animation_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_tree_editor_plugin.cpp
@@ -77,6 +77,7 @@ void AnimationTreeEditor::edit(AnimationTree *p_tree) {
void AnimationTreeEditor::_node_removed(Node *p_node) {
if (p_node == tree) {
tree = nullptr;
+ _clear_editors();
}
}
@@ -151,7 +152,6 @@ void AnimationTreeEditor::edit_path(const Vector<String> &p_path) {
} else {
current_root = ObjectID();
edited_path = button_path;
-
for (int i = 0; i < editors.size(); i++) {
editors[i]->edit(Ref<AnimationNode>());
editors[i]->hide();
@@ -161,6 +161,17 @@ void AnimationTreeEditor::edit_path(const Vector<String> &p_path) {
_update_path();
}
+void AnimationTreeEditor::_clear_editors() {
+ button_path.clear();
+ current_root = ObjectID();
+ edited_path = button_path;
+ for (int i = 0; i < editors.size(); i++) {
+ editors[i]->edit(Ref<AnimationNode>());
+ editors[i]->hide();
+ }
+ _update_path();
+}
+
Vector<String> AnimationTreeEditor::get_edited_path() const {
return button_path;
}
diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h
index e1d9536f03..b933523057 100644
--- a/editor/plugins/animation_tree_editor_plugin.h
+++ b/editor/plugins/animation_tree_editor_plugin.h
@@ -60,6 +60,7 @@ class AnimationTreeEditor : public VBoxContainer {
Vector<AnimationTreeNodeEditorPlugin *> editors;
void _update_path();
+ void _clear_editors();
ObjectID current_root;
void _path_button_pressed(int p_path);
diff --git a/editor/plugins/tiles/tile_map_editor.cpp b/editor/plugins/tiles/tile_map_editor.cpp
index 0331e3f69e..4131c06745 100644
--- a/editor/plugins/tiles/tile_map_editor.cpp
+++ b/editor/plugins/tiles/tile_map_editor.cpp
@@ -55,7 +55,7 @@ void TileMapEditorTilesPlugin::tile_set_changed() {
}
void TileMapEditorTilesPlugin::_on_random_tile_checkbox_toggled(bool p_pressed) {
- scatter_spinbox->set_editable(p_pressed);
+ scatter_controls_container->set_visible(p_pressed);
}
void TileMapEditorTilesPlugin::_on_scattering_spinbox_changed(double p_value) {
@@ -2124,10 +2124,12 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() {
tools_settings->add_child(random_tile_toggle);
// Random tile scattering.
+ scatter_controls_container = memnew(HBoxContainer);
+
scatter_label = memnew(Label);
scatter_label->set_tooltip_text(TTR("Defines the probability of painting nothing instead of a randomly selected tile."));
scatter_label->set_text(TTR("Scattering:"));
- tools_settings->add_child(scatter_label);
+ scatter_controls_container->add_child(scatter_label);
scatter_spinbox = memnew(SpinBox);
scatter_spinbox->set_min(0.0);
@@ -2136,7 +2138,8 @@ TileMapEditorTilesPlugin::TileMapEditorTilesPlugin() {
scatter_spinbox->set_tooltip_text(TTR("Defines the probability of painting nothing instead of a randomly selected tile."));
scatter_spinbox->get_line_edit()->add_theme_constant_override("minimum_character_width", 4);
scatter_spinbox->connect("value_changed", callable_mp(this, &TileMapEditorTilesPlugin::_on_scattering_spinbox_changed));
- tools_settings->add_child(scatter_spinbox);
+ scatter_controls_container->add_child(scatter_spinbox);
+ tools_settings->add_child(scatter_controls_container);
_on_random_tile_checkbox_toggled(false);
diff --git a/editor/plugins/tiles/tile_map_editor.h b/editor/plugins/tiles/tile_map_editor.h
index ad27795437..9700e26e01 100644
--- a/editor/plugins/tiles/tile_map_editor.h
+++ b/editor/plugins/tiles/tile_map_editor.h
@@ -91,6 +91,8 @@ private:
VSeparator *tools_settings_vsep_2 = nullptr;
CheckBox *bucket_contiguous_checkbox = nullptr;
Button *random_tile_toggle = nullptr;
+
+ HBoxContainer *scatter_controls_container = nullptr;
float scattering = 0.0;
Label *scatter_label = nullptr;
SpinBox *scatter_spinbox = nullptr;
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
index a6cb48cb5d..34bbfa2c7e 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
@@ -807,9 +807,7 @@ void TileSetAtlasSourceEditor::_update_tile_data_editors() {
} else {
tile_data_editor_dropdown_button->set_text(TTR("Select a property editor"));
}
- tile_data_editors_label->set_visible(is_visible);
- tile_data_editors_tree->set_visible(is_visible);
- tile_data_painting_editor_container->set_visible(is_visible);
+ tile_data_editors_scroll->set_visible(is_visible);
}
void TileSetAtlasSourceEditor::_update_current_tile_data_editor() {
@@ -2428,17 +2426,26 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
middle_vbox_container->add_child(tile_inspector_no_tile_selected_label);
// Property values palette.
+ tile_data_editors_scroll = memnew(ScrollContainer);
+ tile_data_editors_scroll->set_horizontal_scroll_mode(ScrollContainer::SCROLL_MODE_DISABLED);
+ tile_data_editors_scroll->set_v_size_flags(SIZE_EXPAND_FILL);
+ middle_vbox_container->add_child(tile_data_editors_scroll);
+
+ VBoxContainer *tile_data_editors_vbox = memnew(VBoxContainer);
+ tile_data_editors_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
+ tile_data_editors_scroll->add_child(tile_data_editors_vbox);
+
tile_data_editors_popup = memnew(Popup);
tile_data_editors_label = memnew(Label);
tile_data_editors_label->set_text(TTR("Paint Properties:"));
tile_data_editors_label->set_theme_type_variation("HeaderSmall");
- middle_vbox_container->add_child(tile_data_editors_label);
+ tile_data_editors_vbox->add_child(tile_data_editors_label);
tile_data_editor_dropdown_button = memnew(Button);
tile_data_editor_dropdown_button->connect("draw", callable_mp(this, &TileSetAtlasSourceEditor::_tile_data_editor_dropdown_button_draw));
tile_data_editor_dropdown_button->connect("pressed", callable_mp(this, &TileSetAtlasSourceEditor::_tile_data_editor_dropdown_button_pressed));
- middle_vbox_container->add_child(tile_data_editor_dropdown_button);
+ tile_data_editors_vbox->add_child(tile_data_editor_dropdown_button);
tile_data_editor_dropdown_button->add_child(tile_data_editors_popup);
tile_data_editors_tree = memnew(Tree);
@@ -2451,7 +2458,7 @@ TileSetAtlasSourceEditor::TileSetAtlasSourceEditor() {
tile_data_painting_editor_container = memnew(VBoxContainer);
tile_data_painting_editor_container->set_h_size_flags(SIZE_EXPAND_FILL);
- middle_vbox_container->add_child(tile_data_painting_editor_container);
+ tile_data_editors_vbox->add_child(tile_data_painting_editor_container);
// Atlas source inspector.
atlas_source_proxy_object = memnew(TileSetAtlasSourceProxyObject());
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.h b/editor/plugins/tiles/tile_set_atlas_source_editor.h
index 2e25841248..eede2ec086 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.h
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.h
@@ -120,6 +120,7 @@ private:
bool tile_set_changed_needs_update = false;
// -- Properties painting --
+ ScrollContainer *tile_data_editors_scroll = nullptr;
VBoxContainer *tile_data_painting_editor_container = nullptr;
Label *tile_data_editors_label = nullptr;
Button *tile_data_editor_dropdown_button = nullptr;
diff --git a/editor/translations/af.po b/editor/translations/af.po
index 8ada9c3379..a705eb58fb 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -13115,9 +13115,10 @@ msgstr "EnkelHouer"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14517,13 +14518,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Kan nie '%s' oopmaak nie."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23582,6 +23583,15 @@ msgstr "Fout terwyl laai:"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Skep Vouer"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index adaef249f8..204dd9a41b 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -69,13 +69,14 @@
# عبد الرحمن أبو سعدة ||Abd Alrahman abo saada <abdalrahmanabs2005@gmail.com>, 2022.
# xX-Void-Xx <arandomdude75@gmail.com>, 2022.
# أحمد النور <ahmed2699@gmail.com>, 2022.
+# Commander Gordon <gordoncommander@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-08 07:39+0000\n"
-"Last-Translator: أحمد النور <ahmed2699@gmail.com>\n"
+"PO-Revision-Date: 2022-10-29 23:55+0000\n"
+"Last-Translator: Commander Gordon <gordoncommander@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -84,7 +85,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -524,7 +525,7 @@ msgstr "السرعة"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
msgid "Axis"
-msgstr "محاور"
+msgstr "محور"
#: core/os/input_event.cpp
msgid "Axis Value"
@@ -714,9 +715,8 @@ msgid "Version Control Autoload On Startup"
msgstr "التحميل التلقائي للتحكم ÙÙŠ الإصدار عند بدء التشغيل"
#: core/project_settings.cpp
-#, fuzzy
msgid "Version Control Plugin Name"
-msgstr "إدارة الإصدارات (Version Control)"
+msgstr "اسم مدير اصدار الاضاÙØ©"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -797,9 +797,8 @@ msgid "3D"
msgstr "ثلاثي الأبعاد 3D"
#: core/project_settings.cpp
-#, fuzzy
msgid "Smooth Trimesh Collision"
-msgstr "إنشاء متصادم تراميش قريب"
+msgstr "إنشاء متصادم ترام"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -1194,7 +1193,7 @@ msgstr "توطين"
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
#, fuzzy
msgid "Rotation"
-msgstr "خطوة الدوران:"
+msgstr "خطوة الدوران"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1204,7 +1203,7 @@ msgstr "قيمة"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Arg Count"
-msgstr "الكمية:"
+msgstr "الكمية"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1238,12 +1237,12 @@ msgstr "المجرى (Stream)"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Start Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "End Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1373,7 +1372,7 @@ msgstr "الوقت(ثواني):"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Position:"
-msgstr "مكان الرصيÙ"
+msgstr "مكان الرصيÙ:"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1397,27 +1396,27 @@ msgstr "نوع:"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "(Invalid, expected type: %s)"
-msgstr "إدارة قوالب التصدير:"
+msgstr "إدارة قوالب التصدير"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Easing:"
-msgstr "تسارع بعد بداية بطيئة"
+msgstr "تسارع بعد بداية بطيئة:"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "In-Handle:"
-msgstr "حدد المعامل"
+msgstr "حدد المعامل:"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Out-Handle:"
-msgstr "حدد المعامل"
+msgstr "حدد المعامل:"
#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Stream:"
-msgstr "عنصر Ø®Ùيار"
+msgstr "عنصر Ø®Ùيار:"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -2613,7 +2612,7 @@ msgstr "لا يوجد مل٠'%s'."
#: editor/editor_audio_buses.cpp
#, fuzzy
msgid "Layout:"
-msgstr "المخطط"
+msgstr "المخطط:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2821,7 +2820,7 @@ msgstr "تصدير المشروع لمنصة:"
#: editor/editor_export.cpp
#, fuzzy
msgid "Completed with warnings."
-msgstr "نسخ مسار العÙقدة"
+msgstr "نسخ مسار العÙقدة."
#: editor/editor_export.cpp
#, fuzzy
@@ -2831,7 +2830,7 @@ msgstr "اكتمل بنجاح."
#: editor/editor_export.cpp
#, fuzzy
msgid "Failed."
-msgstr "Ùشل:"
+msgstr "Ùشل."
#: editor/editor_export.cpp
msgid "Storing File:"
@@ -2858,12 +2857,12 @@ msgstr "لا يمكن إنشاء المجلد."
#: editor/editor_export.cpp
#, fuzzy
msgid "Failed to export project files."
-msgstr "لم نتمكن من تصدير ملÙات المشروع"
+msgstr "لم نتمكن من تصدير ملÙات المشروع."
#: editor/editor_export.cpp
#, fuzzy
msgid "Can't open file to read from path \"%s\"."
-msgstr "لا يمكن Ùتح المل٠للكتابة:"
+msgstr "لا يمكن Ùتح المل٠للكتابة."
#: editor/editor_export.cpp
#, fuzzy
@@ -2998,17 +2997,17 @@ msgstr "إدارة القوالب"
#: editor/editor_export.cpp platform/osx/export/export.cpp
#, fuzzy
msgid "The given export path doesn't exist."
-msgstr "مسار التصدير المÙزود غير موجود:"
+msgstr "مسار التصدير المÙزود غير موجود."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
#, fuzzy
msgid "Template file not found: \"%s\"."
-msgstr "مل٠النموذج غير موجود:"
+msgstr "مل٠النموذج غير موجود: ."
#: editor/editor_export.cpp
#, fuzzy
msgid "Failed to copy export template."
-msgstr "إدارة قوالب التصدير:"
+msgstr "إدارة قوالب التصدير."
#: editor/editor_export.cpp platform/windows/export/export.cpp
#: platform/x11/export/export.cpp
@@ -3304,7 +3303,7 @@ msgstr "الوصول (للملÙ)"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#, fuzzy
msgid "Display Mode"
-msgstr "وضع التشغيل:"
+msgstr "وضع التشغيل"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -3324,17 +3323,17 @@ msgstr "وضع السحب"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current Dir"
-msgstr "الحالي:"
+msgstr "الحالي"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current File"
-msgstr "المل٠(النسخة) الحالية:"
+msgstr "المل٠(النسخة) الحالية"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current Path"
-msgstr "الحالي:"
+msgstr "الحالي"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#: scene/gui/file_dialog.cpp
@@ -3661,7 +3660,7 @@ msgstr "عنصر Ù…ÙÙعل"
#: editor/editor_inspector.cpp
#, fuzzy
msgid "Draw Red"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: editor/editor_inspector.cpp
#, fuzzy
@@ -4429,7 +4428,7 @@ msgstr "Ù…ÙتÙحص"
#: editor/editor_node.cpp
#, fuzzy
msgid "Default Property Name Style"
-msgstr "مسار المشروع:"
+msgstr "مسار المشروع"
#: editor/editor_node.cpp
msgid "Default Float Step"
@@ -5278,7 +5277,7 @@ msgstr "Ùتح الكود البرمجي"
#: editor/editor_resource_picker.cpp
#, fuzzy
msgid "Script Owner"
-msgstr "اسم النص البرمجي:"
+msgstr "اسم النص البرمجي"
#: editor/editor_run_native.cpp
msgid ""
@@ -5454,12 +5453,12 @@ msgstr "الاتجاهات"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Autoscan Project Path"
-msgstr "مسار المشروع:"
+msgstr "مسار المشروع"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Default Project Path"
-msgstr "مسار المشروع:"
+msgstr "مسار المشروع"
#: editor/editor_settings.cpp
msgid "On Save"
@@ -5482,7 +5481,7 @@ msgstr "ناÙذة XForm"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Thumbnail Size"
-msgstr "الصورة المصغرة..."
+msgstr "الصورة المصغرة"
#: editor/editor_settings.cpp
msgid "Docks"
@@ -5612,12 +5611,12 @@ msgstr "المظهر"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Show Line Numbers"
-msgstr "اضهار رقم الخط"
+msgstr "اظهار رقم الخط"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Line Numbers Zero Padded"
-msgstr "رقم الخط:"
+msgstr "رقم الخط"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
@@ -5837,12 +5836,12 @@ msgstr "شكل"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Primary Grid Steps"
-msgstr "خطوة الشبكة:"
+msgstr "خطوة الشبكة"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Grid Size"
-msgstr "خطوة الشبكة:"
+msgstr "خطوة الشبكة"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
@@ -6027,7 +6026,7 @@ msgstr "إعادة تسمية عنصر اللون"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Bone Selected Color"
-msgstr "عدل على الحساب الحالي:"
+msgstr "عدل على الحساب الحالي"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
@@ -6040,7 +6039,7 @@ msgstr "لون حدود العظام"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Bone Outline Size"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
@@ -6061,7 +6060,7 @@ msgstr "التمرير للتحريك"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Pan Speed"
-msgstr "السرعة:"
+msgstr "السرعة"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
#, fuzzy
@@ -6136,7 +6135,7 @@ msgstr "الاقتطاع التلقائي"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Save Before Running"
-msgstr "احÙظ المشهد قبل التشغيل..."
+msgstr "احÙظ المشهد قبل التشغيل"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6182,7 +6181,7 @@ msgstr "مدير المشروع"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Sorting Order"
-msgstr "إعادة تسمية مجلد:"
+msgstr "إعادة تسمية مجلد"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
@@ -6216,19 +6215,19 @@ msgstr "لون التعليق"
#: editor/editor_settings.cpp
#, fuzzy
msgid "String Color"
-msgstr "تخزين الملÙ:"
+msgstr "تخزين الملÙ"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Background Color"
-msgstr "لون خلÙية غير صالح."
+msgstr "لون خلÙية غير صالح"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Completion Background Color"
-msgstr "لون خلÙية غير صالح."
+msgstr "لون خلÙية غير صالح"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6255,12 +6254,12 @@ msgstr "الطابق التالي"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Line Number Color"
-msgstr "رقم الخط:"
+msgstr "رقم الخط"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Safe Line Number Color"
-msgstr "رقم الخط:"
+msgstr "رقم الخط"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
@@ -6269,7 +6268,7 @@ msgstr "لون علامة الإقحام"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Caret Background Color"
-msgstr "لون خلÙية غير صالح."
+msgstr "لون خلÙية غير صالح"
#: editor/editor_settings.cpp
#, fuzzy
@@ -7047,7 +7046,7 @@ msgstr "محدد"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
msgid "ColorCorrect"
-msgstr "الوظيÙØ© البرمجية للون."
+msgstr "الوظيÙØ© البرمجية للون"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
@@ -7072,7 +7071,7 @@ msgstr "كرر"
#: scene/gui/control.cpp
#, fuzzy
msgid "Filter"
-msgstr "مرشحات:"
+msgstr "مرشحات"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
@@ -7101,7 +7100,7 @@ msgstr "الاقتطاع التلقائي"
#: scene/resources/style_box.cpp
#, fuzzy
msgid "Horizontal"
-msgstr "عَرضياً:"
+msgstr "عَرضياً"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
@@ -7109,7 +7108,7 @@ msgstr "عَرضياً:"
#: scene/resources/style_box.cpp
#, fuzzy
msgid "Vertical"
-msgstr "شاقولياً:"
+msgstr "شاقولياً"
#: editor/import/resource_importer_obj.cpp
#, fuzzy
@@ -7124,7 +7123,7 @@ msgstr "وضع التحجيم"
#: editor/import/resource_importer_obj.cpp
#, fuzzy
msgid "Offset Mesh"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
@@ -7205,7 +7204,7 @@ msgstr "قص العÙقد"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
#, fuzzy
msgid "Storage"
-msgstr "تخزين الملÙ:"
+msgstr "تخزين الملÙ"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
@@ -7214,7 +7213,7 @@ msgstr "استخدم الأسماء القديمة"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
#, fuzzy
msgid "Materials"
-msgstr "تغيرات المادة:"
+msgstr "تغيرات المادة"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7294,12 +7293,12 @@ msgstr "تÙعيل"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Max Linear Error"
-msgstr "أقصي أخطاء خطية:"
+msgstr "أقصي أخطاء خطية"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Max Angular Error"
-msgstr "أقصي أخطاء زواية:"
+msgstr "أقصي أخطاء زواية"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7321,7 +7320,7 @@ msgstr "مقاطع الرسوم المتحركة"
#: scene/3d/particles.cpp scene/resources/environment.cpp
#, fuzzy
msgid "Amount"
-msgstr "الكمية:"
+msgstr "الكمية"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
@@ -7435,7 +7434,7 @@ msgstr "رأس"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
msgid "Normal Map Invert Y"
-msgstr "حجم عشوائي:"
+msgstr "حجم عشوائي"
#: editor/import/resource_importer_texture.cpp
msgid "Size Limit"
@@ -7461,12 +7460,12 @@ msgstr ""
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
msgid "Atlas File"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
msgid "Import Mode"
-msgstr "وضع التصدير:"
+msgstr "وضع التصدير"
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
@@ -7603,7 +7602,7 @@ msgstr "Ùشل تحميل المورد."
#: editor/inspector_dock.cpp
#, fuzzy
msgid "Property Name Style"
-msgstr "اسم المشروع:"
+msgstr "اسم المشروع"
#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
msgid "Raw"
@@ -8627,7 +8626,7 @@ msgstr "خطأ ÙÙŠ التحميل"
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Available URLs"
-msgstr "الملÙات المتواÙرة:"
+msgstr "الملÙات المتواÙرة"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
@@ -8763,7 +8762,9 @@ msgstr "لا يمكن انشاء خرائط الضوء, تاكد من ان الÙ
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr "Ùشل تحديد حجم الخريطة الضوئية. الحجم الأقصى للخريطة المضيئة صغير جدًا؟"
+msgstr ""
+"Ùشل تحديد حجم الخريطة الضوئية (lightmap). هل الحجم الأقصى للخريطة الضوئية "
+"صغير جدًا؟"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -9688,7 +9689,7 @@ msgstr "بطاقة تعريÙ"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Separator"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -10839,7 +10840,7 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Current Script Background Color"
-msgstr "لون خلÙية غير صالح."
+msgstr "لون خلÙية غير صالح"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -10854,7 +10855,7 @@ msgstr "إنشاء نص برمجي"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "List Script Names As"
-msgstr "اسم النص البرمجي:"
+msgstr "اسم النص البرمجي"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
@@ -13036,12 +13037,13 @@ msgstr "إعدادت المحاذاة"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
#: scene/gui/range.cpp scene/resources/animation.cpp
@@ -13054,7 +13056,7 @@ msgstr "الخطوة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Separation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13075,14 +13077,14 @@ msgstr "نص"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Tex Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
msgid "Material"
-msgstr "تغيرات المادة:"
+msgstr "تغيرات المادة"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
@@ -13103,7 +13105,7 @@ msgstr "وضع قناع-البÙت"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Subtile Size"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13123,7 +13125,7 @@ msgstr "وضع التنقل"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Shape Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -13242,7 +13244,7 @@ msgstr "أختر مسار المÙتاح الخاص Ù„SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr "كلمة مرور SSH"
+msgstr "كلمة المرور ل(SSH)"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -14395,12 +14397,12 @@ msgstr "تحريك إلي..."
#: editor/project_export.cpp
#, fuzzy
msgid "Export PCK/Zip..."
-msgstr "تصدير PCK/ مل٠مضغوط Zip"
+msgstr "تصدير PCK/ مل٠مضغوط Zip..."
#: editor/project_export.cpp
#, fuzzy
msgid "Export Project..."
-msgstr "تصدير المشروع"
+msgstr "تصدير المشروع..."
#: editor/project_export.cpp
msgid "Export All"
@@ -14409,12 +14411,12 @@ msgstr "تصدير الكÙÙ„"
#: editor/project_export.cpp
#, fuzzy
msgid "Choose an export mode:"
-msgstr "من Ùضلك اختر Ù…Ùجلداً Ùارغاً."
+msgstr "من Ùضلك اختر Ù…Ùجلداً Ùارغاً:"
#: editor/project_export.cpp
#, fuzzy
msgid "Export All..."
-msgstr "تصدير الكÙÙ„"
+msgstr "تصدير الكÙÙ„..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
@@ -14497,15 +14499,16 @@ msgid "Invalid project path (changed anything?)."
msgstr "مسار مشروع غير صالح (أعدلت شيء؟)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"لم يتم تحميل project.godot من مسار المشروع (خطأ %d). قد يكون Ù…Ùقوداً أو تالÙاً."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "لا قدرة على تحرير project.godot ÙÙŠ مسار المشروع."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "لا يمكن Ùتح المشروع ÙÙŠ '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -15541,7 +15544,7 @@ msgstr "اجعله محلياً"
#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "Enable Scene Unique Name(s)"
-msgstr "إسم العقدة:"
+msgstr "إسم العقدة"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -15551,7 +15554,7 @@ msgstr "لقد تم استخدام هذا الاسم ÙÙŠ وظيÙØ© برمجيØ
#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "Disable Scene Unique Name(s)"
-msgstr "إسم العقدة:"
+msgstr "إسم العقدة"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15752,7 +15755,7 @@ msgstr "مجموعة الأزرار"
#: editor/scene_tree_editor.cpp
#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "إسم العقدة:"
+msgstr "إسم العقدة"
#: editor/scene_tree_editor.cpp
msgid "(Connecting From)"
@@ -16634,7 +16637,7 @@ msgstr "الحجم الكامل"
#: main/main.cpp scene/resources/dynamic_font.cpp
#, fuzzy
msgid "Use Filter"
-msgstr "تصÙية:"
+msgstr "تصÙية"
#: main/main.cpp scene/resources/style_box.cpp
#, fuzzy
@@ -16683,7 +16686,7 @@ msgstr ""
#: main/main.cpp
#, fuzzy
msgid "Tooltip Position Offset"
-msgstr "مقدار إزاحة الدوران:"
+msgstr "مقدار إزاحة الدوران"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#, fuzzy
@@ -16698,7 +16701,7 @@ msgstr "Ù…Ùنقح الأخطاء"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#, fuzzy
msgid "Wait Timeout"
-msgstr "انتهت المهلة."
+msgstr "انتهت المهلة"
#: main/main.cpp
msgid "Runtime"
@@ -16808,12 +16811,12 @@ msgstr "اقلب الوجوه"
#: scene/resources/sphere_shape.cpp
#, fuzzy
msgid "Radius"
-msgstr "نص٠القطر:"
+msgstr "نص٠القطر"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
msgid "Radial Segments"
-msgstr "معاملات المشهد الرئيس:"
+msgstr "معاملات المشهد الرئيس"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
msgid "Rings"
@@ -16878,7 +16881,7 @@ msgstr ""
#: modules/csg/csg_shape.cpp
#, fuzzy
msgid "Path Rotation"
-msgstr "دوران عشوائي:"
+msgstr "دوران عشوائي"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16897,7 +16900,7 @@ msgstr "المسار المحلي"
#: modules/csg/csg_shape.cpp
#, fuzzy
msgid "Path Joined"
-msgstr "دوران عشوائي:"
+msgstr "دوران عشوائي"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Compression Mode"
@@ -17020,12 +17023,12 @@ msgstr "مكتبات:"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
msgid "Class Name"
-msgstr "اسم الÙئة:"
+msgstr "اسم الÙئة"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
msgid "Script Class"
-msgstr "اسم النص البرمجي:"
+msgstr "اسم النص البرمجي"
#: modules/gdnative/nativescript/nativescript.cpp
msgid "Icon Path"
@@ -17134,7 +17137,7 @@ msgstr "الواجهة View الخلÙية"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
#, fuzzy
msgid "Byte Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: modules/gltf/gltf_accessor.cpp
msgid "Component Type"
@@ -17147,7 +17150,7 @@ msgstr ""
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
msgid "Count"
-msgstr "الكمية:"
+msgstr "الكمية"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
msgid "Min"
@@ -17173,7 +17176,7 @@ msgstr ""
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
msgid "Sparse Indices Component Type"
-msgstr "توزيع الأشكال الهندسية..."
+msgstr "توزيع الأشكال الهندسية"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
@@ -17252,7 +17255,7 @@ msgstr "طبخ (إعداد) خرائط الضوء"
#: modules/gltf/gltf_mesh.cpp
#, fuzzy
msgid "Instance Materials"
-msgstr "تغيرات المادة:"
+msgstr "تغيرات المادة"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
msgid "Parent"
@@ -17808,7 +17811,7 @@ msgstr "ضوضاء"
#: modules/opensimplex/noise_texture.cpp
#, fuzzy
msgid "Noise Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
@@ -18363,7 +18366,7 @@ msgstr "اعادة التعيين للإÙتراضيات"
#: modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
msgid "Validate"
-msgstr "الأحر٠الصالحة:"
+msgstr "الأحر٠الصالحة"
#: modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
@@ -18457,7 +18460,7 @@ msgstr "تغيير حجم المصÙÙˆÙØ©"
#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
msgid "Operator"
-msgstr "Ù…Ùشغل التراكم."
+msgstr "Ù…Ùشغل التراكم"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Invalid argument of type:"
@@ -18703,7 +18706,7 @@ msgstr "إخلاء سلسلة IK"
#: modules/websocket/websocket_server.cpp
#, fuzzy
msgid "Handshake Timeout"
-msgstr "انتهت المهلة."
+msgstr "انتهت المهلة"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
@@ -18713,12 +18716,12 @@ msgstr "وضع الأقليم"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
msgid "Required Features"
-msgstr "المزايا الرئيسية:"
+msgstr "المزايا الرئيسية"
#: modules/webxr/webxr_interface.cpp
#, fuzzy
msgid "Optional Features"
-msgstr "المزايا الرئيسية:"
+msgstr "المزايا الرئيسية"
#: modules/webxr/webxr_interface.cpp
msgid "Requested Reference Space Types"
@@ -18825,7 +18828,7 @@ msgstr "مسار التصدير"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Min SDK"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18883,7 +18886,7 @@ msgstr "يَحزم\"ينتج المل٠المضغوط\""
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Unique Name"
-msgstr "إسم العقدة:"
+msgstr "إسم العقدة"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18893,7 +18896,7 @@ msgstr "الإشاراة"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Classify As Game"
-msgstr "اسم الÙئة:"
+msgstr "اسم الÙئة"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
@@ -18907,7 +18910,7 @@ msgstr "حذ٠العÙقد"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Graphics"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18979,7 +18982,7 @@ msgstr "المجتمع"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
msgid "Extra Args"
-msgstr "وسائط إستدعاء إضاÙية :"
+msgstr "وسائط إستدعاء إضاÙية"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19283,7 +19286,7 @@ msgstr ""
msgid ""
"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
-"تعذرت كتابة overwrite ملÙات res://android/build/res/*.xml مع اسم المشروع"
+"تعذرت كتابة overwrite ملÙات res://android/build/res/*.xml مع اسم المشروع."
#: platform/android/export/export_plugin.cpp
msgid "Could not export project files to gradle project."
@@ -19318,7 +19321,7 @@ msgstr "تعذر نسخ وإعادة تسمية المل٠المصدر، تÙÙ‚
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Package not found: \"%s\"."
-msgstr "لم يتم إيجاد الرسم المتحرك: '%s'"
+msgstr "لم يتم إيجاد الرسم المتحرك: '%s'."
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19347,7 +19350,7 @@ msgstr "إضاÙØ© %s..."
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Could not export project files."
-msgstr "لم نتمكن من تصدير ملÙات المشروع"
+msgstr "لم نتمكن من تصدير ملÙات المشروع."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19445,7 +19448,7 @@ msgstr ""
#: platform/iphone/export/export.cpp
#, fuzzy
msgid "Export Method Release"
-msgstr "وضع التصدير:"
+msgstr "وضع التصدير"
#: platform/iphone/export/export.cpp
msgid "Targeted Device Family"
@@ -19458,7 +19461,7 @@ msgstr ""
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
msgid "Identifier"
-msgstr "Ù…Ùحدد غير صالح:"
+msgstr "Ù…Ùحدد غير صالح"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19488,7 +19491,7 @@ msgstr "الوصول للواي-Ùاي"
#: platform/iphone/export/export.cpp
#, fuzzy
msgid "Push Notifications"
-msgstr "دوران عشوائي:"
+msgstr "دوران عشوائي"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19629,17 +19632,17 @@ msgstr "شغل مل٠HTML المÙصدر ÙÙŠ المتصÙØ­ الإÙتراضي
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Could not open template for export: \"%s\"."
-msgstr "لا يمكن Ùتح القالب من أجل التصدير:"
+msgstr "لا يمكن Ùتح القالب من أجل التصدير: ."
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Invalid export template: \"%s\"."
-msgstr "إدارة قوالب التصدير:"
+msgstr "إدارة قوالب التصدير: ."
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Could not write file: \"%s\"."
-msgstr "لا يمكن كتابة الملÙ:"
+msgstr "لا يمكن كتابة الملÙ: ."
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19649,7 +19652,7 @@ msgstr "تحديد الهامش"
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Could not read file: \"%s\"."
-msgstr "لا يمكن كتابة الملÙ:"
+msgstr "لا يمكن كتابة الملÙ: ."
#: platform/javascript/export/export.cpp
msgid "PWA"
@@ -19658,7 +19661,7 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Variant"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19732,17 +19735,17 @@ msgstr ""
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Could not read HTML shell: \"%s\"."
-msgstr "لا يمكن قراءة مل٠HTML مخصص:"
+msgstr "لا يمكن قراءة مل٠HTML مخصص: ."
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Could not create HTTP server directory: %s."
-msgstr "لا يمكن إنشاء مجلد خادم ال HTTP:"
+msgstr "لا يمكن إنشاء مجلد خادم ال HTTP: ."
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Error starting HTTP server: %d."
-msgstr "خطأ ÙÙŠ بدء تشغيل خادم HTTP:"
+msgstr "خطأ ÙÙŠ بدء تشغيل خادم HTTP: ."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19848,7 +19851,7 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
msgid "App Category"
-msgstr "الÙئة:"
+msgstr "الÙئة"
#: platform/osx/export/export.cpp
msgid "High Res"
@@ -20044,7 +20047,7 @@ msgstr ""
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Could not open icon file \"%s\"."
-msgstr "لم نتمكن من تصدير ملÙات المشروع"
+msgstr "لم نتمكن من تصدير ملÙات المشروع."
#: platform/osx/export/export.cpp
msgid "Could not start xcrun executable."
@@ -20053,7 +20056,7 @@ msgstr "تعذر بدء تشغيل xcrun."
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Notarization failed."
-msgstr "توطين"
+msgstr "توطين."
#: platform/osx/export/export.cpp
msgid "Notarization request UUID: \"%s\""
@@ -20108,7 +20111,7 @@ msgstr "لم توجد ايقونات."
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Cannot sign file %s."
-msgstr "خطأ ÙÙŠ تحميل الملÙ: %s"
+msgstr "خطأ ÙÙŠ تحميل المل٠%s."
#: platform/osx/export/export.cpp
msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
@@ -20139,12 +20142,12 @@ msgstr "ينشئ الصورة المصغرة"
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Could not find template app to export: \"%s\"."
-msgstr "لم يتم إيجاد قالب التطبيق (Template app) للتصدير:"
+msgstr "لم يتم إيجاد قالب التطبيق (Template app) للتصدير: ."
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Invalid export format."
-msgstr "إدارة قوالب التصدير:"
+msgstr "إدارة قوالب التصدير."
#: platform/osx/export/export.cpp
msgid ""
@@ -20331,7 +20334,7 @@ msgstr "إظهار الكل"
#: platform/uwp/export/export.cpp
#, fuzzy
msgid "Short Name"
-msgstr "اسم النص البرمجي:"
+msgstr "اسم النص البرمجي"
#: platform/uwp/export/export.cpp
msgid "Publisher"
@@ -20340,12 +20343,12 @@ msgstr ""
#: platform/uwp/export/export.cpp
#, fuzzy
msgid "Publisher Display Name"
-msgstr "اسم الناشر المعروض للرÙزمة غير صالح."
+msgstr "اسم الناشر المعروض للرÙزمة غير صالح"
#: platform/uwp/export/export.cpp
#, fuzzy
msgid "Product GUID"
-msgstr "Ù…Ùعر٠GUID (المÙعرّ٠الÙريد العالمي) للمنتج غير صالح."
+msgstr "Ù…Ùعر٠GUID (المÙعرّ٠الÙريد العالمي) للمنتج غير صالح"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20360,7 +20363,7 @@ msgstr "الإشاراة"
#: platform/uwp/export/export.cpp
#, fuzzy
msgid "Certificate"
-msgstr "القمم:"
+msgstr "القمم"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20387,7 +20390,7 @@ msgstr "تحديد التعبير"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "بشكل اÙقي (Landscape)"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20430,7 +20433,7 @@ msgstr ""
#: platform/uwp/export/export.cpp
#, fuzzy
msgid "Splash Screen"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20528,7 +20531,7 @@ msgstr "Ù…Ùنقح الأخطاء"
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Failed to rename temporary file \"%s\"."
-msgstr "لا يمكن حذ٠مل٠مؤقت:"
+msgstr "لا يمكن حذ٠مل٠مؤقت."
#: platform/windows/export/export.cpp
msgid "Identity Type"
@@ -20556,17 +20559,17 @@ msgstr "الإصدار"
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Product Version"
-msgstr "Ù…Ùعر٠GUID (المÙعرّ٠الÙريد العالمي) للمنتج غير صالح:"
+msgstr "Ù…Ùعر٠GUID (المÙعرّ٠الÙريد العالمي) للمنتج غير صالح"
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Company Name"
-msgstr "إسم العقدة:"
+msgstr "إسم العقدة"
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Product Name"
-msgstr "اسم المشروع:"
+msgstr "اسم المشروع"
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20580,7 +20583,7 @@ msgstr ""
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Resources Modification"
-msgstr "دوران عشوائي:"
+msgstr "دوران عشوائي"
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20617,7 +20620,7 @@ msgstr "لا يمكن العثور على Ù…Ùتاح المتجر، لا يمكÙ
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Invalid identity type."
-msgstr "Ù…Ùحدد غير صالح:"
+msgstr "Ù…Ùحدد غير صالح."
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20639,7 +20642,7 @@ msgstr "صيغة غير صالحة."
#: platform/windows/export/export.cpp
#, fuzzy
msgid "Failed to remove temporary file \"%s\"."
-msgstr "لا يمكن حذ٠مل٠مؤقت:"
+msgstr "لا يمكن حذ٠مل٠مؤقت."
#: platform/windows/export/export.cpp
msgid ""
@@ -20690,8 +20693,9 @@ msgid "Osslsigncode"
msgstr ""
#: platform/windows/export/export.cpp
+#, fuzzy
msgid "Wine"
-msgstr ""
+msgstr "طبقة المعالجة Wine"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20828,7 +20832,7 @@ msgstr ""
#: scene/resources/material.cpp
#, fuzzy
msgid "Max Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
#, fuzzy
@@ -20858,13 +20862,13 @@ msgstr "وضع الأيقونة"
#: scene/2d/camera_2d.cpp
#, fuzzy
msgid "Rotating"
-msgstr "خطوة الدوران:"
+msgstr "خطوة الدوران"
#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
#, fuzzy
msgid "Current"
-msgstr "الحالي:"
+msgstr "الحالي"
#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
#, fuzzy
@@ -20948,12 +20952,12 @@ msgstr "تحديد الهامش"
#: scene/2d/camera_2d.cpp
#, fuzzy
msgid "Draw Screen"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: scene/2d/camera_2d.cpp
#, fuzzy
msgid "Draw Limits"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -21150,7 +21154,7 @@ msgstr ""
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
#, fuzzy
msgid "Emitting"
-msgstr "الإعدادات:"
+msgstr "الإعدادات"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -21178,7 +21182,7 @@ msgstr ""
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
#, fuzzy
msgid "Randomness"
-msgstr "إعادة تشغيل عشوائية (ثواني):"
+msgstr "إعادة تشغيل عشوائية (ثواني)"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21351,7 +21355,7 @@ msgstr "إغلاق المنحنى"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#, fuzzy
msgid "Scale Amount"
-msgstr "الكمية:"
+msgstr "الكمية"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Random"
@@ -21377,25 +21381,25 @@ msgstr ""
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Hue Variation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Variation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Variation Random"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Variation Curve"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21413,7 +21417,7 @@ msgstr "تقسيم المنحنى"
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Offset Random"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21612,12 +21616,12 @@ msgstr "وضع الأقليم"
#: scene/2d/line_2d.cpp
#, fuzzy
msgid "End Cap Mode"
-msgstr "وضع المحاذاة:"
+msgstr "وضع المحاذاة"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
#, fuzzy
msgid "Border"
-msgstr "إعادة تسمية مجلد:"
+msgstr "إعادة تسمية مجلد"
#: scene/2d/line_2d.cpp
msgid "Sharp Limit"
@@ -21646,7 +21650,7 @@ msgstr ""
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
#, fuzzy
msgid "Edge Connection Margin"
-msgstr "تعديل الإتصال:"
+msgstr "تعديل الإتصال"
#: scene/2d/navigation_2d.cpp
msgid ""
@@ -21663,7 +21667,7 @@ msgstr "الربط"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Path Desired Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Target Desired Distance"
@@ -21672,7 +21676,7 @@ msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Path Max Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
@@ -21700,7 +21704,7 @@ msgstr "القلب Ø£Ùقياً"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
msgid "Max Speed"
-msgstr "السرعة:"
+msgstr "السرعة"
#: scene/2d/navigation_agent_2d.cpp
msgid ""
@@ -21744,7 +21748,7 @@ msgstr "السÙر"
#: scene/main/canvas_layer.cpp
#, fuzzy
msgid "Rotation Degrees"
-msgstr "ÙŠÙدير %s من الدرجات."
+msgstr "ÙŠÙدير %s من الدرجات"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
@@ -21754,12 +21758,12 @@ msgstr "ثابت"
#: scene/2d/node_2d.cpp
#, fuzzy
msgid "Global Rotation Degrees"
-msgstr "ÙŠÙدير %s من الدرجات."
+msgstr "ÙŠÙدير %s من الدرجات"
#: scene/2d/node_2d.cpp
#, fuzzy
msgid "Global Scale"
-msgstr "حجم عشوائي:"
+msgstr "حجم عشوائي"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
@@ -21779,7 +21783,7 @@ msgstr ""
#: scene/2d/parallax_background.cpp
#, fuzzy
msgid "Base Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/2d/parallax_background.cpp
#, fuzzy
@@ -21878,17 +21882,17 @@ msgstr ""
#: scene/2d/path_2d.cpp scene/3d/path.cpp
#, fuzzy
msgid "Unit Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
#, fuzzy
msgid "H Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
#, fuzzy
msgid "V Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/2d/path_2d.cpp scene/3d/path.cpp
msgid "Cubic Interp"
@@ -21951,7 +21955,7 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp
#, fuzzy
msgid "Inertia"
-msgstr "شاقولياً:"
+msgstr "شاقولياً"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21990,7 +21994,7 @@ msgstr "المحاذاة الذكية"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
msgid "Can Sleep"
-msgstr "السرعة:"
+msgstr "السرعة"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Damp"
@@ -22037,7 +22041,7 @@ msgstr "البنية (اللاحقة)"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
msgid "Remainder"
-msgstr "Ù…Ùحرك الإخراج البصري:"
+msgstr "Ù…Ùحرك الإخراج البصري"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -22239,7 +22243,7 @@ msgstr "وضع الأولية"
#: scene/2d/tile_map.cpp
#, fuzzy
msgid "Centered Textures"
-msgstr "المزايا الرئيسية:"
+msgstr "المزايا الرئيسية"
#: scene/2d/tile_map.cpp
msgid "Cell Clip UV"
@@ -22371,7 +22375,7 @@ msgstr ""
#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
#, fuzzy
msgid "World Scale"
-msgstr "حجم عشوائي:"
+msgstr "حجم عشوائي"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22402,7 +22406,7 @@ msgstr "الوان الإنبعاث"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
msgid "Degrees"
-msgstr "ÙŠÙدير %s من الدرجات."
+msgstr "ÙŠÙدير %s من الدرجات"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22489,7 +22493,7 @@ msgstr ""
#: scene/3d/baked_lightmap.cpp
#, fuzzy
msgid "Use Denoiser"
-msgstr "تصÙية:"
+msgstr "تصÙية"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
@@ -22518,7 +22522,7 @@ msgstr "عام"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
msgid "Max Size"
-msgstr "الحجم:"
+msgstr "الحجم"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22528,7 +22532,7 @@ msgstr "قص العÙقد"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
msgid "Custom Sky Rotation Degrees"
-msgstr "ÙŠÙدير %s من الدرجات."
+msgstr "ÙŠÙدير %s من الدرجات"
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
#, fuzzy
@@ -22562,7 +22566,7 @@ msgstr "مع البيانات"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
#, fuzzy
msgid "Bone Name"
-msgstr "إسم العقدة:"
+msgstr "إسم العقدة"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
@@ -22589,7 +22593,7 @@ msgstr ""
#: scene/3d/camera.cpp
#, fuzzy
msgid "Frustum Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22853,7 +22857,7 @@ msgstr "الخطوط"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
msgid "Horizontal Alignment"
-msgstr "عَرضياً:"
+msgstr "عَرضياً"
#: scene/3d/label_3d.cpp
#, fuzzy
@@ -22919,7 +22923,7 @@ msgstr "Ùصل المسار"
#: scene/3d/light.cpp
#, fuzzy
msgid "Blend Splits"
-msgstr "أوقات الدمج:"
+msgstr "أوقات الدمج"
#: scene/3d/light.cpp
#, fuzzy
@@ -22965,7 +22969,7 @@ msgstr ""
#: scene/3d/mesh_instance.cpp
#, fuzzy
msgid "Transform Normals"
-msgstr "أجهض التحول."
+msgstr "أجهض التحول"
#: scene/3d/navigation.cpp
msgid ""
@@ -23058,12 +23062,12 @@ msgstr "تشغيل/إطÙاء الوضوحية Visibility"
#: scene/3d/particles.cpp
#, fuzzy
msgid "Draw Passes"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: scene/3d/particles.cpp
#, fuzzy
msgid "Passes"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -23161,7 +23165,7 @@ msgstr ""
#: scene/3d/vehicle_body.cpp
#, fuzzy
msgid "Relaxation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23176,7 +23180,7 @@ msgstr "خطي"
#: scene/3d/physics_body.cpp
#, fuzzy
msgid "Angular Limit Lower"
-msgstr "أقصي أخطاء زواية:"
+msgstr "أقصي أخطاء زواية"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23309,7 +23313,7 @@ msgstr ""
#: scene/3d/physics_body.cpp
#, fuzzy
msgid "Body Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/3d/physics_joint.cpp
msgid "Node A and Node B must be PhysicsBodies"
@@ -23342,7 +23346,7 @@ msgstr "استثناء العÙقد"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Params"
-msgstr "لقد تم تغيير المَعلم:"
+msgstr "لقد تم تغيير المَعلم"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
@@ -23370,7 +23374,7 @@ msgstr "تحريك المسار لليمين"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Max Impulse"
-msgstr "السرعة:"
+msgstr "السرعة"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23380,12 +23384,12 @@ msgstr "خطي"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Upper Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Lower Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23418,7 +23422,7 @@ msgstr "رسوم متحركة"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Angular Ortho"
-msgstr "أقصي أخطاء زواية:"
+msgstr "أقصي أخطاء زواية"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23433,7 +23437,7 @@ msgstr "الشروع"
#: scene/3d/physics_joint.cpp
#, fuzzy
msgid "Force Limit"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23533,7 +23537,7 @@ msgstr ""
#: scene/3d/portal.cpp
#, fuzzy
msgid "Linked Room"
-msgstr "جذر التعديل المباشر:"
+msgstr "جذر التعديل المباشر"
#: scene/3d/portal.cpp
#, fuzzy
@@ -23552,7 +23556,7 @@ msgstr ""
#: scene/3d/proximity_group.cpp
#, fuzzy
msgid "Grid Radius"
-msgstr "نص٠القطر:"
+msgstr "نص٠القطر"
#: scene/3d/ray_cast.cpp
#, fuzzy
@@ -23570,7 +23574,7 @@ msgstr "وضع التحديث"
#: scene/3d/reflection_probe.cpp
#, fuzzy
msgid "Origin Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23823,12 +23827,12 @@ msgstr "إنشاء Ù…Ùضلع التصادم"
#: scene/3d/soft_body.cpp
#, fuzzy
msgid "Simulation Precision"
-msgstr "شجرة التحريك غير صالحة."
+msgstr "شجرة التحريك غير صالحة"
#: scene/3d/soft_body.cpp
#, fuzzy
msgid "Total Mass"
-msgstr "المجموع الكلي:"
+msgstr "المجموع الكلي"
#: scene/3d/soft_body.cpp
msgid "Linear Stiffness"
@@ -23945,7 +23949,7 @@ msgstr ""
#: scene/3d/vehicle_body.cpp
#, fuzzy
msgid "Use As Traction"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/3d/vehicle_body.cpp
msgid "Use As Steering"
@@ -23978,6 +23982,16 @@ msgstr "خطأ"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "ترتيب"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "استخدم Ambient"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -23991,7 +24005,7 @@ msgstr "يتجاوز"
#: scene/3d/visual_instance.cpp
#, fuzzy
msgid "Material Overlay"
-msgstr "تغيرات المادة:"
+msgstr "تغيرات المادة"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -24001,7 +24015,7 @@ msgstr "إنشاء عÙقدة تظليل"
#: scene/3d/visual_instance.cpp
#, fuzzy
msgid "Extra Cull Margin"
-msgstr "وسائط إستدعاء إضاÙية :"
+msgstr "وسائط إستدعاء إضاÙية"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -24026,7 +24040,7 @@ msgstr ""
#: scene/resources/material.cpp
#, fuzzy
msgid "Min Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/3d/visual_instance.cpp
msgid "Min Hysteresis"
@@ -24075,12 +24089,12 @@ msgstr "عقدة الخلط"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
msgid "Fadein Time"
-msgstr "وقت التلاشي X (ثواني):"
+msgstr "وقت التلاشي X (ثواني)"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
msgid "Fadeout Time"
-msgstr "وقت التلاشي X (ثواني):"
+msgstr "وقت التلاشي X (ثواني)"
#: scene/animation/animation_blend_tree.cpp
msgid "Auto Restart"
@@ -24097,17 +24111,17 @@ msgstr ""
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
msgid "Random Delay"
-msgstr "إمالة عشوائية:"
+msgstr "إمالة عشوائية"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
msgid "Add Amount"
-msgstr "الكمية:"
+msgstr "الكمية"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
msgid "Blend Amount"
-msgstr "الكمية:"
+msgstr "الكمية"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -24123,7 +24137,7 @@ msgstr "أض٠منÙØ° أدخال"
#: scene/animation/animation_node_state_machine.cpp
#, fuzzy
msgid "Xfade Time"
-msgstr "وقت التلاشي X (ثواني):"
+msgstr "وقت التلاشي X (ثواني)"
#: scene/animation/animation_node_state_machine.cpp
#, fuzzy
@@ -24171,7 +24185,7 @@ msgstr "أضÙØ© نقطة الرسوم المتحركة"
#: scene/animation/animation_player.cpp
#, fuzzy
msgid "Playback Options"
-msgstr "إعدادات الص٠(Class):"
+msgstr "إعدادات الص٠(Class)"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -24214,7 +24228,7 @@ msgstr "العÙقدة الرئيسة لمÙشغل الرسومات المتحر
#: scene/animation/animation_tree.cpp
#, fuzzy
msgid "Tree Root"
-msgstr "إنشاء العÙقدة الرئيسة (الجذر):"
+msgstr "إنشاء العÙقدة الرئيسة (الجذر)"
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -24475,12 +24489,12 @@ msgstr "الاتجاهات"
#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Min Size"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: scene/gui/control.cpp
#, fuzzy
msgid "Pivot Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/gui/control.cpp
#, fuzzy
@@ -24533,7 +24547,7 @@ msgstr ""
#: scene/gui/control.cpp
#, fuzzy
msgid "Default Cursor Shape"
-msgstr "تحميل نسق المسار الإÙتراضي."
+msgstr "تحميل نسق المسار الإÙتراضي"
#: scene/gui/control.cpp
msgid "Pass On Modal Close Click"
@@ -24591,12 +24605,12 @@ msgstr "قطع الاتصال"
#: scene/gui/graph_edit.cpp
#, fuzzy
msgid "Scroll Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/gui/graph_edit.cpp
#, fuzzy
msgid "Snap Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/gui/graph_edit.cpp
#, fuzzy
@@ -24696,7 +24710,7 @@ msgstr ""
#: scene/gui/item_list.cpp
#, fuzzy
msgid "Icon Scale"
-msgstr "حجم عشوائي:"
+msgstr "حجم عشوائي"
#: scene/gui/item_list.cpp
#, fuzzy
@@ -24711,7 +24725,7 @@ msgstr "ألحق"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
#, fuzzy
msgid "Visible Characters"
-msgstr "الأحر٠الصالحة:"
+msgstr "الأحر٠الصالحة"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24737,7 +24751,7 @@ msgstr ""
#: scene/gui/line_edit.cpp
#, fuzzy
msgid "Secret Character"
-msgstr "الأحر٠الصالحة:"
+msgstr "الأحر٠الصالحة"
#: scene/gui/line_edit.cpp
msgid "Expand To Text Length"
@@ -24803,7 +24817,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#, fuzzy
msgid "Blink Speed"
-msgstr "السرعة:"
+msgstr "السرعة"
#: scene/gui/link_button.cpp
msgid "Underline"
@@ -24887,7 +24901,7 @@ msgstr "بحث"
#: scene/gui/progress_bar.cpp
#, fuzzy
msgid "Percent"
-msgstr "الحالي:"
+msgstr "الحالي"
#: scene/gui/range.cpp
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
@@ -24948,7 +24962,7 @@ msgstr "مساÙØ© بادئة تلقائية"
#: scene/gui/rich_text_effect.cpp
#, fuzzy
msgid "Elapsed Time"
-msgstr "أوقات الدمج:"
+msgstr "أوقات الدمج"
#: scene/gui/rich_text_effect.cpp
#, fuzzy
@@ -24958,7 +24972,7 @@ msgstr "النهاية"
#: scene/gui/rich_text_effect.cpp
#, fuzzy
msgid "Character"
-msgstr "الأحر٠الصالحة:"
+msgstr "الأحر٠الصالحة"
#: scene/gui/rich_text_label.cpp
msgid "BBCode"
@@ -24971,7 +24985,7 @@ msgstr ""
#: scene/gui/rich_text_label.cpp
#, fuzzy
msgid "Tab Size"
-msgstr "الحجم:"
+msgstr "الحجم"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24994,7 +25008,7 @@ msgstr "المحدد Ùقط"
#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
#, fuzzy
msgid "Override Selected Font Color"
-msgstr "عدل على الحساب الحالي:"
+msgstr "عدل على الحساب الحالي"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -25024,7 +25038,7 @@ msgstr "تزويد السطح"
#: scene/gui/scroll_container.cpp
#, fuzzy
msgid "Horizontal Enabled"
-msgstr "عَرضياً:"
+msgstr "عَرضياً"
#: scene/gui/scroll_container.cpp
#, fuzzy
@@ -25047,22 +25061,22 @@ msgstr "اختر لوناً"
#: scene/gui/slider.cpp
#, fuzzy
msgid "Ticks On Borders"
-msgstr "إعادة تسمية مجلد:"
+msgstr "إعادة تسمية مجلد"
#: scene/gui/spin_box.cpp
#, fuzzy
msgid "Prefix"
-msgstr "بادئة:"
+msgstr "بادئة"
#: scene/gui/spin_box.cpp
#, fuzzy
msgid "Suffix"
-msgstr "لاحقة:"
+msgstr "لاحقة"
#: scene/gui/split_container.cpp
#, fuzzy
msgid "Split Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/gui/split_container.cpp scene/gui/tree.cpp
#, fuzzy
@@ -25081,7 +25095,7 @@ msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
#, fuzzy
msgid "Current Tab"
-msgstr "الحالي:"
+msgstr "الحالي"
#: scene/gui/tab_container.cpp
#, fuzzy
@@ -25095,7 +25109,7 @@ msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
#, fuzzy
msgid "Drag To Rearrange Enabled"
-msgstr "إسحب وأسقط لإعادة الترتيب."
+msgstr "إسحب وأسقط لإعادة الترتيب"
#: scene/gui/tab_container.cpp
msgid "Use Hidden Tabs For Min Size"
@@ -25126,7 +25140,7 @@ msgstr "تخطي نقاط التكسّر"
#: scene/gui/text_edit.cpp
#, fuzzy
msgid "Fold Gutter"
-msgstr "مجلد:"
+msgstr "مجلد"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -25146,17 +25160,17 @@ msgstr "تÙعيل"
#: scene/gui/text_edit.cpp
#, fuzzy
msgid "Scroll Vertical"
-msgstr "شاقولياً:"
+msgstr "شاقولياً"
#: scene/gui/text_edit.cpp
#, fuzzy
msgid "Scroll Horizontal"
-msgstr "عَرضياً:"
+msgstr "عَرضياً"
#: scene/gui/text_edit.cpp
#, fuzzy
msgid "Draw"
-msgstr "استدعاءات الرسم:"
+msgstr "استدعاءات الرسم"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -25216,7 +25230,7 @@ msgstr ""
#: scene/gui/texture_progress.cpp
#, fuzzy
msgid "Fill Mode"
-msgstr "وضع التشغيل:"
+msgstr "وضع التشغيل"
#: scene/gui/texture_progress.cpp scene/resources/material.cpp
msgid "Tint"
@@ -25234,7 +25248,7 @@ msgstr "الشروع"
#: scene/gui/texture_progress.cpp
#, fuzzy
msgid "Fill Degrees"
-msgstr "ÙŠÙدير %s من الدرجات."
+msgstr "ÙŠÙدير %s من الدرجات"
#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -25287,7 +25301,7 @@ msgstr "زر معطّل"
#: scene/gui/tree.cpp
#, fuzzy
msgid "Hide Root"
-msgstr "إنشاء العÙقدة الرئيسة (الجذر):"
+msgstr "إنشاء العÙقدة الرئيسة (الجذر)"
#: scene/gui/tree.cpp
msgid "Drop Mode Flags"
@@ -25342,7 +25356,7 @@ msgstr ""
#: scene/main/http_request.cpp
#, fuzzy
msgid "Timeout"
-msgstr "انتهت المهلة."
+msgstr "انتهت المهلة"
#: scene/main/node.cpp
msgid ""
@@ -25387,17 +25401,17 @@ msgstr "إعادة التسمية"
#: scene/main/node.cpp
#, fuzzy
msgid "Owner"
-msgstr "ملاك:"
+msgstr "ملاك"
#: scene/main/node.cpp scene/main/scene_tree.cpp
#, fuzzy
msgid "Multiplayer"
-msgstr "تحديد التكرار:"
+msgstr "تحديد التكرار"
#: scene/main/node.cpp
#, fuzzy
msgid "Custom Multiplayer"
-msgstr "تحديد التكرار:"
+msgstr "تحديد التكرار"
#: scene/main/node.cpp
msgid "Process Priority"
@@ -25434,7 +25448,7 @@ msgstr ""
#: scene/main/scene_tree.cpp
#, fuzzy
msgid "Multiplayer Poll"
-msgstr "تحديد التكرار:"
+msgstr "تحديد التكرار"
#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
#: scene/resources/shape_2d.cpp
@@ -25470,12 +25484,12 @@ msgstr "أنشئ الحد"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
msgid "Reflections"
-msgstr "الانعكاسات"
+msgstr "انعكاسات"
#: scene/main/scene_tree.cpp
#, fuzzy
msgid "Atlas Size"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: scene/main/scene_tree.cpp
msgid "Atlas Subdiv"
@@ -25530,7 +25544,7 @@ msgstr ""
#: scene/main/timer.cpp
#, fuzzy
msgid "Autostart"
-msgstr "إعادة تشغيل تلقائية:"
+msgstr "إعادة تشغيل تلقائية"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25615,7 +25629,7 @@ msgstr "تصحيح الأخطاء"
#: scene/main/viewport.cpp
#, fuzzy
msgid "Render Target"
-msgstr "Ù…Ùحرك الإخراج البصري:"
+msgstr "Ù…Ùحرك الإخراج البصري"
#: scene/main/viewport.cpp
msgid "V Flip"
@@ -25736,7 +25750,7 @@ msgstr ""
#: scene/resources/concave_polygon_shape_2d.cpp
#, fuzzy
msgid "Segments"
-msgstr "معاملات المشهد الرئيس:"
+msgstr "معاملات المشهد الرئيس"
#: scene/resources/curve.cpp
#, fuzzy
@@ -25779,7 +25793,7 @@ msgstr "القص Clip Ù…Ùعطّل"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "H Separation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25849,7 +25863,7 @@ msgstr "عنصر معطّل"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Off"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25869,12 +25883,12 @@ msgstr "الاجبار على التعديل الابيض"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Shadow Offset X"
-msgstr "معادل الشبكة على المحور الأÙقي X:"
+msgstr "معادل الشبكة على المحور الأÙقي X"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Shadow Offset Y"
-msgstr "معادل الشبكة على المحور Y:"
+msgstr "معادل الشبكة على المحور Y"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25934,12 +25948,12 @@ msgstr "المشهد الرئيس"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Folded"
-msgstr "مجلد:"
+msgstr "مجلد"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Fold"
-msgstr "مجلد:"
+msgstr "مجلد"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Readonly"
@@ -26060,12 +26074,12 @@ msgstr "الاتجاهات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Close H Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Close V Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26095,7 +26109,7 @@ msgstr "Ùاصل Ù…Ùسمّى"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Font Separator"
-msgstr "Ù…Ùشغّل اللون."
+msgstr "Ù…Ùشغّل اللون"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26105,12 +26119,12 @@ msgstr "إعادة تسمية عنصر اللون"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Font Color Separator"
-msgstr "Ù…Ùشغّل اللون."
+msgstr "Ù…Ùشغّل اللون"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "V Separation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26155,17 +26169,17 @@ msgstr "الألوان"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Title Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Close Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Port Offset"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26277,12 +26291,12 @@ msgstr "أظهر الموجهات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Scroll Border"
-msgstr "شاقولياً:"
+msgstr "شاقولياً"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Scroll Speed"
-msgstr "مقدار إزاحة الشبكة:"
+msgstr "مقدار إزاحة الشبكة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26292,7 +26306,7 @@ msgstr "تحديد الهامش"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Line Separation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26354,7 +26368,7 @@ msgstr "الهدÙ"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Folder"
-msgstr "مجلد:"
+msgstr "مجلد"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26394,7 +26408,7 @@ msgstr "بالعرض يساراً"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Screen Picker"
-msgstr "Ù…Ùشغل الشاشة."
+msgstr "Ù…Ùشغل الشاشة"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26457,12 +26471,12 @@ msgstr "المشهد الرئيس"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Table H Separation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Table V Separation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26557,7 +26571,7 @@ msgstr "مسار التركيز"
#: scene/resources/dynamic_font.cpp
#, fuzzy
msgid "Outline Size"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26572,12 +26586,12 @@ msgstr "الإشارات"
#: scene/resources/dynamic_font.cpp
#, fuzzy
msgid "Extra Spacing"
-msgstr "خيارات إضاÙية:"
+msgstr "خيارات إضاÙية"
#: scene/resources/dynamic_font.cpp
#, fuzzy
msgid "Char"
-msgstr "الأحر٠الصالحة:"
+msgstr "الأحر٠الصالحة"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26605,12 +26619,12 @@ msgstr "الوثائق الإلكترونية"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Sky Rotation"
-msgstr "خطوة الدوران:"
+msgstr "خطوة الدوران"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Sky Rotation Degrees"
-msgstr "ÙŠÙدير %s من الدرجات."
+msgstr "ÙŠÙدير %s من الدرجات"
#: scene/resources/environment.cpp
msgid "Canvas Max Layer"
@@ -26637,12 +26651,12 @@ msgstr ""
#: scene/resources/environment.cpp
#, fuzzy
msgid "Sun Color"
-msgstr "تخزين الملÙ:"
+msgstr "تخزين الملÙ"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Sun Amount"
-msgstr "الكمية:"
+msgstr "الكمية"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26733,12 +26747,12 @@ msgstr "الخطوة"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Fade In"
-msgstr "تلاشي ÙÙŠ البداية (ثواني):"
+msgstr "تلاشي ÙÙŠ البداية (ثواني)"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Fade Out"
-msgstr "تلاشي من النهاية (ثواني):"
+msgstr "تلاشي من النهاية (ثواني)"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26756,7 +26770,7 @@ msgstr ""
#: scene/resources/environment.cpp
#, fuzzy
msgid "Radius 2"
-msgstr "نص٠القطر:"
+msgstr "نص٠القطر"
#: scene/resources/environment.cpp
msgid "Intensity 2"
@@ -26787,7 +26801,7 @@ msgstr ""
#: scene/resources/environment.cpp scene/resources/material.cpp
#, fuzzy
msgid "Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/resources/environment.cpp
msgid "Transition"
@@ -26871,17 +26885,17 @@ msgstr "ضوء"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Saturation"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/environment.cpp
#, fuzzy
msgid "Color Correction"
-msgstr "الوظيÙØ© البرمجية للون."
+msgstr "الوظيÙØ© البرمجية للون"
#: scene/resources/font.cpp
#, fuzzy
msgid "Ascent"
-msgstr "الحالي:"
+msgstr "الحالي"
#: scene/resources/font.cpp
#, fuzzy
@@ -26896,7 +26910,7 @@ msgstr "العمق"
#: scene/resources/gradient.cpp
#, fuzzy
msgid "Offsets"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/resources/height_map_shape.cpp
msgid "Map Width"
@@ -26960,7 +26974,7 @@ msgstr "المساÙØ© البادئة يميناً"
#: scene/resources/material.cpp
#, fuzzy
msgid "Ensure Correct Normals"
-msgstr "أجهض التحول."
+msgstr "أجهض التحول"
#: scene/resources/material.cpp
msgid "Albedo Tex MSDF"
@@ -26982,7 +26996,7 @@ msgstr ""
#: scene/resources/material.cpp servers/visual_server.cpp
#, fuzzy
msgid "Parameters"
-msgstr "لقد تم تغيير المَعلم:"
+msgstr "لقد تم تغيير المَعلم"
#: scene/resources/material.cpp
#, fuzzy
@@ -27026,7 +27040,7 @@ msgstr ""
#: scene/resources/material.cpp
#, fuzzy
msgid "Grow Amount"
-msgstr "الكمية:"
+msgstr "الكمية"
#: scene/resources/material.cpp
msgid "Use Alpha Scissor"
@@ -27133,7 +27147,7 @@ msgstr "الإنتقال"
#: scene/resources/material.cpp
#, fuzzy
msgid "Refraction"
-msgstr "التباعÙدات:"
+msgstr "التباعÙدات"
#: scene/resources/material.cpp
msgid "Detail"
@@ -27198,12 +27212,12 @@ msgstr "محو التَحَوّل"
#: scene/resources/multimesh.cpp
#, fuzzy
msgid "Color Format"
-msgstr "Ù…Ùشغّل اللون."
+msgstr "Ù…Ùشغّل اللون"
#: scene/resources/multimesh.cpp
#, fuzzy
msgid "Transform Format"
-msgstr "أجهض التحول."
+msgstr "أجهض التحول"
#: scene/resources/multimesh.cpp
msgid "Custom Data Format"
@@ -27221,7 +27235,7 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Sampling"
-msgstr "تحجيم:"
+msgstr "تحجيم"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -27231,7 +27245,7 @@ msgstr "حدد نوع المتغير"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Parsed Geometry Type"
-msgstr "توزيع الأشكال الهندسية..."
+msgstr "توزيع الأشكال الهندسية"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
@@ -27249,7 +27263,7 @@ msgstr ""
#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Agents"
-msgstr "معاملات المشهد الرئيس:"
+msgstr "معاملات المشهد الرئيس"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -27290,7 +27304,7 @@ msgstr "أظهر الإÙتراضي"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Sample Distance"
-msgstr "اختر المساÙØ©:"
+msgstr "اختر المساÙØ©"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -27317,7 +27331,7 @@ msgstr "توليد AABB"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Baking AABB Offset"
-msgstr "المÙعادل:"
+msgstr "المÙعادل"
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
@@ -27362,7 +27376,7 @@ msgstr "Ù…Ùعدّل تباطؤ الرؤية الحÙرة"
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Point Texture"
-msgstr "نقاط الانبعاث:"
+msgstr "نقاط الانبعاث"
#: scene/resources/particles_material.cpp
msgid "Normal Texture"
@@ -27381,7 +27395,7 @@ msgstr "أض٠منÙØ° أدخال"
#: scene/resources/particles_material.cpp
#, fuzzy
msgid "Scale Random"
-msgstr "نسبة التكبير:"
+msgstr "نسبة التكبير"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -27399,7 +27413,7 @@ msgstr ""
#: scene/resources/plane_shape.cpp
#, fuzzy
msgid "Plane"
-msgstr "التبويت:"
+msgstr "التبويت"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -27425,7 +27439,7 @@ msgstr ""
#: scene/resources/primitive_meshes.cpp
#, fuzzy
msgid "Top Radius"
-msgstr "نص٠القطر:"
+msgstr "نص٠القطر"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -27476,7 +27490,7 @@ msgstr "العظام"
#: scene/resources/sky.cpp
#, fuzzy
msgid "Radiance Size"
-msgstr "حجم الخطوط:"
+msgstr "حجم الخطوط"
#: scene/resources/sky.cpp
msgid "Panorama"
@@ -27490,7 +27504,7 @@ msgstr "الطابق التالي"
#: scene/resources/sky.cpp
#, fuzzy
msgid "Horizon Color"
-msgstr "تخزين الملÙ:"
+msgstr "تخزين الملÙ"
#: scene/resources/sky.cpp
#, fuzzy
@@ -27601,7 +27615,7 @@ msgstr "التقاط"
#: scene/resources/texture.cpp
#, fuzzy
msgid "From"
-msgstr "وضع التشغيل:"
+msgstr "وضع التشغيل"
#: scene/resources/texture.cpp
#, fuzzy
@@ -27769,7 +27783,7 @@ msgstr "أختبار"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
#, fuzzy
msgid "Default Edge Connection Margin"
-msgstr "تعديل الإتصال:"
+msgstr "تعديل الإتصال"
#: scene/resources/world_2d.cpp
msgid "Canvas"
@@ -27805,7 +27819,7 @@ msgstr "عنصر Ø®Ùيار"
#: servers/audio/audio_stream.cpp
#, fuzzy
msgid "Random Pitch"
-msgstr "إمالة عشوائية:"
+msgstr "إمالة عشوائية"
#: servers/audio/effects/audio_effect_capture.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
@@ -27857,7 +27871,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_panner.cpp
#, fuzzy
msgid "Pan"
-msgstr "التبويت:"
+msgstr "التبويت"
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
@@ -27955,7 +27969,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
#, fuzzy
msgid "FFT Size"
-msgstr "الحجم:"
+msgstr "الحجم"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Predelay"
@@ -27985,7 +27999,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
#, fuzzy
msgid "Time Pullout (ms)"
-msgstr "انتهت المهلة."
+msgstr "انتهت المهلة"
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
msgid "Surround"
@@ -28053,7 +28067,7 @@ msgstr ""
#: servers/physics_2d/physics_2d_server_sw.cpp
#, fuzzy
msgid "BP Hash Table Size"
-msgstr "الحجم:"
+msgstr "الحجم"
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "Large Object Surface Threshold In Cells"
@@ -28179,7 +28193,7 @@ msgstr "لا يمكن تعديل الثوابت."
#: servers/visual/visual_server_scene.cpp
#, fuzzy
msgid "Spatial Partitioning"
-msgstr "تجزئة..."
+msgstr "تجزئة"
#: servers/visual_server.cpp
#, fuzzy
@@ -28369,7 +28383,7 @@ msgstr ""
#: servers/visual_server.cpp
#, fuzzy
msgid "Batching"
-msgstr "جاري البحث..."
+msgstr "جاري البحث"
#: servers/visual_server.cpp
msgid "Use Batching"
@@ -28399,7 +28413,7 @@ msgstr ""
#: servers/visual_server.cpp
#, fuzzy
msgid "Max Join Items"
-msgstr "إدارة العناصر..."
+msgstr "إدارة العناصر"
#: servers/visual_server.cpp
msgid "Batch Buffer Size"
diff --git a/editor/translations/az.po b/editor/translations/az.po
index d4ffe0665e..b6b36d99e5 100644
--- a/editor/translations/az.po
+++ b/editor/translations/az.po
@@ -12593,9 +12593,10 @@ msgstr "Yapışdır(Snap):"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13952,12 +13953,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22688,6 +22688,15 @@ msgstr "Maks. Xətti Xəta:"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ä°nterpolasiya rejimi"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index a6a8b72ea5..262a6825a6 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -17,13 +17,14 @@
# Ivan Gechev <ivan_banov@abv.bg>, 2022.
# BigHomieDripDrop <bartu.bali@gmail.com>, 2022.
# xaio <xaio666@gmail.com>, 2022.
+# Vosh <vosh4k@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-22 15:26+0000\n"
-"Last-Translator: xaio <xaio666@gmail.com>\n"
+"PO-Revision-Date: 2022-10-25 15:43+0000\n"
+"Last-Translator: Vosh <vosh4k@gmail.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/"
"godot/bg/>\n"
"Language: bg\n"
@@ -31,7 +32,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -437,19 +438,16 @@ msgid "Button Mask"
msgstr "Бутон"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "Глобална конÑтанта"
+msgstr "Глобална позициÑ"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Factor"
-msgstr "Вектор"
+msgstr "Фактор"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Button Index"
-msgstr "Бутон"
+msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ð° бутона"
#: core/os/input_event.cpp
msgid "Doubleclick"
@@ -485,9 +483,8 @@ msgid "Axis"
msgstr "ОÑ"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "Закачане на ÑтойноÑтта"
+msgstr "СтойноÑÑ‚ на оÑта"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
@@ -510,14 +507,12 @@ msgid "Delta"
msgstr "Делта"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "ПромÑна на филтъра"
+msgstr "Канал"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "Съобщение за подаването"
+msgstr "Съобщение"
#: core/os/input_event.cpp
#, fuzzy
@@ -527,9 +522,8 @@ msgstr "Скалиране"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity"
-msgstr "Орбитален изглед отдÑÑно"
+msgstr "СкороÑÑ‚"
#: core/os/input_event.cpp
msgid "Instrument"
@@ -547,14 +541,12 @@ msgstr "СтойноÑÑ‚ на контролер"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "ДейÑтвие"
+msgstr "Приложение"
#: core/project_settings.cpp main/main.cpp
-#, fuzzy
msgid "Config"
-msgstr "ÐаÑтройване на прилепването"
+msgstr "КонфигурациÑ"
#: core/project_settings.cpp
#, fuzzy
@@ -617,9 +609,8 @@ msgstr "Име на перÑонална потребителÑка катего
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "Показване на вÑичко"
+msgstr "Покажи"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
@@ -669,9 +660,8 @@ msgid "Main Run Args"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
msgid "Scene Naming"
-msgstr "Път на Ñцената:"
+msgstr "Ðаименование на Ñцена"
#: core/project_settings.cpp
msgid "Search In File Extensions"
@@ -682,9 +672,8 @@ msgid "Script Templates Search Path"
msgstr "Път за Ñ‚ÑŠÑ€Ñене на Ñкриптови шаблони"
#: core/project_settings.cpp
-#, fuzzy
msgid "Version Control Autoload On Startup"
-msgstr "Контрол на верÑиите"
+msgstr "Стартирай контрол на верÑиите при Ñтартиране"
#: core/project_settings.cpp
#, fuzzy
@@ -1053,7 +1042,7 @@ msgstr "Скалиране"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Follow Surface"
-msgstr ""
+msgstr "Следвай повърхноÑÑ‚"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Weight Samples"
@@ -1143,9 +1132,8 @@ msgstr "ПромÑна на повикана Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ (ÐнимациÑ)"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "ДобавÑне на кадър"
+msgstr "Кадър"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1156,9 +1144,8 @@ msgstr "Време"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Стъпка при завъртане:"
+msgstr "МеÑтоположение"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -1339,19 +1326,16 @@ msgid "Remove this track."
msgstr "Премахване на тази пътечка."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Time (s):"
-msgstr "Време (Ñек): "
+msgstr "Време (Ñек):"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Position:"
-msgstr "Създаване на функциÑ"
+msgstr "ПозициÑ:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Rotation:"
-msgstr "Стъпка при завъртане:"
+msgstr "Завъртане:"
#: editor/animation_track_editor.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -1646,7 +1630,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Clipboard is empty!"
-msgstr ""
+msgstr "Клипбордът е празен!"
#: editor/animation_track_editor.cpp
msgid "Paste Tracks"
@@ -12795,9 +12779,10 @@ msgstr "ÐаÑтройки за прилепването"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "ОтмеÑтване:"
@@ -14158,16 +14143,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Ðеправилен път до проекта (ПроменÑли ли Ñте нещо?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Файлът „project.godot“ не може да бъде зареден от Ð¿ÑŠÑ‚Ñ Ð½Ð° проекта (грешка "
"%d). Възможно е той да липÑва или да е повреден."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ðе може да бъде отворен проектът в „%s“."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23350,6 +23336,15 @@ msgstr "Грешка от %s"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Сортиране"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index f32a090f27..df79cd5d84 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -13807,9 +13807,10 @@ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° সিদà§à¦§à¦¾à¦¨à§à¦¤à¦¸à¦®à§
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "অফসেট/ভারসামà§à¦¯:"
@@ -15277,14 +15278,13 @@ msgstr "অকারà§à¦¯à¦•à¦° পà§à¦°à¦•à¦²à§à¦ªà§‡à¦° পথ (কোনà§
#: editor/project_manager.cpp
#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr "পà§à¦°à¦•à¦²à§à¦ªà§‡à¦° পথে engine.cfg তৈরি করা সমà§à¦­à¦¬ হয়নি।"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Couldn't edit project.godot in project path."
-msgstr "পà§à¦°à¦•à¦²à§à¦ªà§‡à¦° পথে engine.cfg তৈরি করা সমà§à¦­à¦¬ হয়নি।"
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "সংযোগ..."
#: editor/project_manager.cpp
#, fuzzy
@@ -24888,6 +24888,15 @@ msgstr "সমসà§à¦¯à¦¾/ভà§à¦²"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "সাজান:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/br.po b/editor/translations/br.po
index 7b92059104..0cfc29b4d1 100644
--- a/editor/translations/br.po
+++ b/editor/translations/br.po
@@ -12459,9 +12459,10 @@ msgstr "Tro Fiñvskeudenn"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13803,12 +13804,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22459,6 +22459,15 @@ msgstr "Melezour"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Mod Interpoladur"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index b08b3be823..d3ced0a876 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -13232,9 +13232,10 @@ msgstr "Opcions d'Ajustament"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "òfset:"
@@ -14752,16 +14753,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "El Camí del Projecte no és vàlid (S'ha produit algun canvi?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"No es pot carregar el fitxer 'project.godot' en el camí del projecte (error "
"%d). Pot ser que falti o que estigui malmès."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "No es pot editar el fitxer 'project.godot' en el camí del projecte."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "No es pot obrir el projecte a '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24377,6 +24379,15 @@ msgstr "Error"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordena"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index 01c28b207e..173d38c85c 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -32,13 +32,14 @@
# JoeMoos <josephmoose13@gmail.com>, 2022.
# Mirinek <mirek.nozicka77@gmail.com>, 2022.
# Lubomír Baloun <lubosbaloun@gmail.com>, 2022.
+# Ondřej Pavelka <flamekick97@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-19 05:22+0000\n"
-"Last-Translator: Lubomír Baloun <lubosbaloun@gmail.com>\n"
+"PO-Revision-Date: 2022-12-12 09:46+0000\n"
+"Last-Translator: Ondřej Pavelka <flamekick97@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/"
"cs/>\n"
"Language: cs\n"
@@ -46,11 +47,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr "OvladaÄ Grafického Tabletu"
+msgstr "OvladaÄe grafického tabletu"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -65,9 +66,8 @@ msgid "Exit Code"
msgstr "Kód pro ukonÄení (exit code)"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "V-Sync Zapnutý"
+msgstr "V-Sync zapnutý"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
@@ -93,22 +93,20 @@ msgstr "Nechat ladící program otevřený"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
-msgstr "Minimální Velikost Okna"
+msgstr "Minimální velikost okna"
#: core/bind/core_bind.cpp
msgid "Max Window Size"
-msgstr "Maximální Velikost Okna"
+msgstr "Maximální velikost okna"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Screen Orientation"
-msgstr "Operátor screen."
+msgstr "Orientace obrazovky"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Window"
-msgstr "Nové okno"
+msgstr "Okno"
#: core/bind/core_bind.cpp core/project_settings.cpp
#, fuzzy
@@ -127,7 +125,7 @@ msgstr "Přepnout celou obrazovku"
#: core/bind/core_bind.cpp
msgid "Maximized"
-msgstr ""
+msgstr "Maximalizováno"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -224,7 +222,7 @@ msgstr "Paměť"
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: servers/visual_server.cpp
msgid "Limits"
-msgstr ""
+msgstr "Limity"
#: core/command_queue_mt.cpp
#, fuzzy
@@ -284,9 +282,8 @@ msgid "Read Chunk Size"
msgstr ""
#: core/io/marshalls.cpp
-#, fuzzy
msgid "Object ID"
-msgstr "Kreslené objekty:"
+msgstr "ID Objektu"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
#, fuzzy
@@ -407,7 +404,7 @@ msgstr "Status"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr ""
+msgstr "Fronta zpráv"
#: core/message_queue.cpp
msgid "Max Size (KB)"
@@ -445,7 +442,7 @@ msgstr "Správa verzí"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "Meta"
#: core/os/input_event.cpp
#, fuzzy
@@ -519,7 +516,7 @@ msgstr "Profil"
#: core/os/input_event.cpp
msgid "Pen Inverted"
-msgstr ""
+msgstr "Tužka invertována"
#: core/os/input_event.cpp
#, fuzzy
@@ -589,7 +586,7 @@ msgstr "Inicializovat"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "Nástroj"
#: core/os/input_event.cpp
#, fuzzy
@@ -663,8 +660,9 @@ msgid "Use Hidden Project Data Directory"
msgstr ""
#: core/project_settings.cpp
+#, fuzzy
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Použít vlastní uživatelské dir"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
@@ -1054,8 +1052,9 @@ msgstr "Vyrovnávací Paměti"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
+#, fuzzy
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "Velikost zásobníku polygonového plátna (v KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1108,7 +1107,7 @@ msgstr ""
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Max Renderable Lights"
-msgstr ""
+msgstr "Maximální poÄet renderovatelných svÄ›tel"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#, fuzzy
@@ -1116,8 +1115,9 @@ msgid "Max Renderable Reflections"
msgstr "Vycentrovat výběr"
#: drivers/gles3/rasterizer_scene_gles3.cpp
+#, fuzzy
msgid "Max Lights Per Object"
-msgstr ""
+msgstr "Maximální poÄet svÄ›tel na objekt"
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Subsurface Scattering"
@@ -1266,7 +1266,7 @@ msgstr "Množství:"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Args"
-msgstr ""
+msgstr "Argumenty"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/script_editor_debugger.cpp modules/gltf/gltf_accessor.cpp
@@ -1289,8 +1289,9 @@ msgstr "Nastavit úchyt"
#: editor/import/resource_importer_texture.cpp
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
+#, fuzzy
msgid "Stream"
-msgstr ""
+msgstr "Stream"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1577,9 +1578,8 @@ msgstr "Odstranit stopu animace"
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editors"
-msgstr "Editor"
+msgstr "Editory"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#, fuzzy
@@ -2323,7 +2323,7 @@ msgstr "Otevřít"
#: editor/dependency_editor.cpp
msgid "Owners of: %s (Total: %d)"
-msgstr ""
+msgstr "Vlastníci: %s (Dohromady: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2884,8 +2884,9 @@ msgid "Choose"
msgstr "Vyberte"
#: editor/editor_export.cpp
+#, fuzzy
msgid "Project export for platform:"
-msgstr ""
+msgstr "Exportovat projekt pro platformu:"
#: editor/editor_export.cpp
#, fuzzy
@@ -3015,8 +3016,9 @@ msgid "Binary Format"
msgstr "Operátor barvy."
#: editor/editor_export.cpp
+#, fuzzy
msgid "64 Bits"
-msgstr ""
+msgstr "64 Bitů"
#: editor/editor_export.cpp
msgid "Embed PCK"
@@ -3029,19 +3031,19 @@ msgstr "Oblast textury"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
msgid "No BPTC Fallbacks"
@@ -3090,8 +3092,9 @@ msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Při 32-bitovým exportu vestavěné PCK nemůže být větší než 4 GiB."
#: editor/editor_export.cpp
+#, fuzzy
msgid "Convert Text Resources To Binary On Export"
-msgstr ""
+msgstr "Konvertovat textové zdroje do binárky při exportu"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -3414,8 +3417,9 @@ msgid "Show Hidden Files"
msgstr "Zobrazit skryté soubory"
#: editor/editor_file_dialog.cpp
+#, fuzzy
msgid "Disable Overwrite Warning"
-msgstr ""
+msgstr "Vypnout varování při přepsání"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -3517,8 +3521,9 @@ msgid "(Re)Importing Assets"
msgstr "(Re)Importování assetů"
#: editor/editor_file_system.cpp
+#, fuzzy
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "Znovu importovat chybějící importované soubory"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -3620,9 +3625,8 @@ msgstr ""
#: editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Text Editor"
-msgstr "Otevřít editor"
+msgstr "Editor textu"
#: editor/editor_help.cpp editor/editor_node.cpp editor/editor_settings.cpp
#: editor/plugins/shader_editor_plugin.cpp
@@ -3631,7 +3635,7 @@ msgstr "Nápověda"
#: editor/editor_help.cpp
msgid "Sort Functions Alphabetically"
-msgstr ""
+msgstr "Třídit funkce abecedně"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -3751,10 +3755,12 @@ msgstr "(hodnota)"
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
+"Připnutí hodnoty vynutí její uložení, i když bude shodná s výchozí hodnotou."
#: editor/editor_inspector.cpp
+#, fuzzy
msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
+msgstr "Připnout hodnotu [vypnuto jelikož '%s' je pouze v editoru]"
#: editor/editor_inspector.cpp
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
@@ -3771,11 +3777,11 @@ msgstr "Nastavit více:"
#: editor/editor_inspector.cpp
msgid "Pinned %s"
-msgstr ""
+msgstr "Připnuté %s"
#: editor/editor_inspector.cpp
msgid "Unpinned %s"
-msgstr ""
+msgstr "Nepřipnuté %s"
#: editor/editor_inspector.cpp
#, fuzzy
@@ -4415,80 +4421,73 @@ msgstr "%d více souborů"
msgid ""
"Unable to write to file '%s', file in use, locked or lacking permissions."
msgstr ""
+"Není možné zapisovat do souboru '%s', soubour je používán, uzamÄen nebo "
+"chybí oprávnění."
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
-#, fuzzy
msgid "Interface"
-msgstr "Uživatelské rozhraní"
+msgstr "Rozhraní"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tabs"
-msgstr "Přepnout záložku scény"
+msgstr "Karty scén"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "Vždy zobrazit mřížku"
+msgstr "Vždy zobrazit tlaÄítko zavÅ™ení"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "ZmÄ›nit velikost pÅ™i velkém poÄtu záložek"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
-msgstr ""
+msgstr "Minimální šířka"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Output"
msgstr "Výstup"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "Vymazat výstup"
+msgstr "Vždy vymazat výstup při spuštění"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr ""
+msgstr "Vždy otevřít výstup při spuštění"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
-msgstr ""
+msgstr "Vždy zavřít výstup pÅ™i ukonÄení"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
msgstr ""
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Save Each Scene On Quit"
-msgstr "Uložit větev jako scénu"
+msgstr "Uložit všechny scény při vypnutí"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Quit Confirmation"
-msgstr "Zobrazit informace"
+msgstr "Potvrzení při vypnutí"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Show Update Spinner"
-msgstr "Schovat aktualizaÄní koleÄko"
+msgstr "Zobrazit aktualizaÄní koleÄko"
#: editor/editor_node.cpp
msgid "Update Continuously"
msgstr "Aktualizovat průběžně"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Only"
-msgstr "Změny materiálu:"
+msgstr "Aktualizovat pouze důležité"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Localize Settings"
-msgstr "Lokalizace"
+msgstr "LokalizaÄní nastavení"
#: editor/editor_node.cpp
#, fuzzy
@@ -4497,7 +4496,7 @@ msgstr "Uzel TimeSeek"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "Zobrazit náhled při překrytí"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
@@ -5399,69 +5398,64 @@ msgid "Did you forget the '_run' method?"
msgstr "Nezapoměl jste metodu '_run'?"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor Language"
-msgstr "Rozložení editoru"
+msgstr "Jazyk editoru"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Display Scale"
-msgstr "Zobrazit všechny"
+msgstr "Škálování zobrazení"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr ""
+msgstr "Vlastní škálování zobrazení"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr ""
+msgstr "Velikost písma editoru"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr ""
+msgstr "Velikost písma kódu"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr ""
+msgstr "Vyhlazování písma"
#: editor/editor_settings.cpp
msgid "Font Hinting"
-msgstr ""
+msgstr "Hinting písma"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Main Font"
-msgstr "Hlavní scéna"
+msgstr "Font editoru"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr ""
+msgstr "TuÄný font editoru"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Code Font"
-msgstr "Přidat bod uzlu"
+msgstr "Font kódu"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr ""
+msgstr "Ztmavit editor při zobrazení dialogového okna"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Režim spánku s nízkým využitím procesoru (µs)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr ""
+msgstr "Nezaměřený režim spánku s nízkým využitím procesoru (µs)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "Nerozptylující režitm"
+msgstr "Oddělit nerozptylující režim"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
-msgstr ""
+msgstr "Automaticky otevřít snímky obrazovky"
#: editor/editor_settings.cpp
msgid "Max Array Dictionary Items Per Page"
@@ -5475,58 +5469,54 @@ msgstr "Téma"
#: editor/editor_settings.cpp editor/import_dock.cpp
msgid "Preset"
-msgstr "Profil"
+msgstr "Předvolba"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "Barva ikon a písma"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Color"
-msgstr "Barvy"
+msgstr "Základní barva"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Accent Color"
-msgstr "Vyberte barvu"
+msgstr "Barva zvýraznění"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
-msgstr ""
+msgstr "Kontrast"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Relationship Line Opacity"
-msgstr ""
+msgstr "Průhlednost linky relace"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "Ukládám světelné mapy"
+msgstr "Zvýraznit karty"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "HraniÄní pixely"
+msgstr "Velikost okrajů"
#: editor/editor_settings.cpp
+#, fuzzy
msgid "Use Graph Node Headers"
-msgstr ""
+msgstr "Použít uzly záhlaví grafů"
#: editor/editor_settings.cpp
#, fuzzy
msgid "Additional Spacing"
-msgstr "Opakování animace"
+msgstr "Přídavné mezerování"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Custom Theme"
-msgstr "Motiv editoru"
+msgstr "Vlastní téma"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "Pravé tlaÄítko koleÄka"
+msgstr "Ukázat tlaÄítko skriptu"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5539,9 +5529,8 @@ msgid "Autoscan Project Path"
msgstr "Cesta k projektu:"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Project Path"
-msgstr "Cesta k projektu:"
+msgstr "Výchozí cesta k projektu"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5563,9 +5552,8 @@ msgid "File Dialog"
msgstr "XForm dialog"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Thumbnail Size"
-msgstr "Náhled..."
+msgstr "Velikost náhledu"
#: editor/editor_settings.cpp
msgid "Docks"
@@ -5578,83 +5566,73 @@ msgstr "Úpravy stromu scény"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
-msgstr ""
+msgstr "Plně rozbalit dialog vytvoření při spuštění"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Always Show Folders"
-msgstr "Vždy zobrazit mřížku"
+msgstr "Vždy zobrazit složky"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Property Editor"
-msgstr "Editor skupin"
+msgstr "Editor oblasti"
#: editor/editor_settings.cpp
msgid "Auto Refresh Interval"
-msgstr ""
+msgstr "Automatický interval obnovení"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "DílÄí zdroje"
+msgstr "Podzdroj odstínu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "Motiv editoru"
+msgstr "Barevné téma"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Line Spacing"
-msgstr ""
+msgstr "Řádkování"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "Přímé osvětlení"
+msgstr "Zvýrazňování"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Syntax Highlighting"
-msgstr "ZvýrazňovaÄ syntaxe"
+msgstr "Zvýrazňování syntaxe"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
-msgstr ""
+msgstr "Zvýraznit všechny výskyty"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight Current Line"
-msgstr ""
+msgstr "Zvýraznit aktuální řádek"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Highlight Type Safe Lines"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Indent"
-msgstr "Odsadit zleva"
+msgstr "Odsazení"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
msgstr "Automatické odsazení"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "Převést odsazení na mezery"
+msgstr "Konvertovat odsazení při uložení"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Tabs"
-msgstr "Vykreslovací volání:"
+msgstr "Vykreslit taby"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Spaces"
-msgstr "Vykreslovací volání:"
+msgstr "Vykreslit mezery"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
@@ -5665,47 +5643,43 @@ msgstr "Navigace"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Smooth Scrolling"
-msgstr ""
+msgstr "Plynulé posouvání"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "V Scroll Speed"
-msgstr ""
+msgstr "Vertikální rychlost posouvání"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Minimap"
-msgstr "Zobrazit poÄátek"
+msgstr "Zobrazit minimapu"
#: editor/editor_settings.cpp
msgid "Minimap Width"
-msgstr ""
+msgstr "Šířka minimapy"
#: editor/editor_settings.cpp
msgid "Mouse Extra Buttons Navigate History"
-msgstr ""
+msgstr "NavigaÄní historie extra tlaÄítek myÅ¡i"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Drag And Drop Selection"
-msgstr "GridMap Vyplnit výběr"
+msgstr "Výběr přetažením"
#: editor/editor_settings.cpp
msgid "Stay In Script Editor On Node Selected"
-msgstr ""
+msgstr "Zůstat v editoru skriptu při výběru uzlu"
#: editor/editor_settings.cpp
msgid "Appearance"
-msgstr ""
+msgstr "Vzhled"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Show Line Numbers"
-msgstr "Číslo řádku:"
+msgstr "Zobrazit Äísla řádků"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Numbers Zero Padded"
-msgstr "Číslo řádku:"
+msgstr "Vyplnit Äísla řádků nulami"
#: editor/editor_settings.cpp
msgid "Show Bookmark Gutter"
@@ -5722,32 +5696,31 @@ msgstr ""
#: editor/editor_settings.cpp
msgid "Code Folding"
-msgstr ""
+msgstr "Složení kódu"
#: editor/editor_settings.cpp
msgid "Word Wrap"
-msgstr ""
+msgstr "Zalamování"
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "Zobrazit vodící Äáry délky řádků"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "MÄ›kký sloupec Äáry délky řádku"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "Tvrdý sloupec Äáry délky řádku"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script List"
-msgstr "Editor skriptů"
+msgstr "Seznam skriptů"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Zobrazit pÅ™ehled Älenů"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5932,9 +5905,8 @@ msgid "Primary Grid Steps"
msgstr "Krok mřížky:"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid Size"
-msgstr "Krok mřížky:"
+msgstr "Velikost mřížky"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
@@ -6192,9 +6164,8 @@ msgid "Onion Layers Future Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Visual Editors"
-msgstr "Editor skupin"
+msgstr "Vizuální editory"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
@@ -6279,76 +6250,70 @@ msgstr "Přejmenování složky:"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
-msgstr ""
+msgstr "Barva znaků"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "Barva klíÄových slov"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "Změnit základní typ"
+msgstr "Barva základního typu"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "Barva typu enginu"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "Barva typu uživatele"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "Barva komentářů"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "String Color"
-msgstr "Ukládám soubor:"
+msgstr "Barva řetězců"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Background Color"
-msgstr "Neplatná barva pozadí."
+msgstr "Barva pozadí"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Background Color"
-msgstr "Neplatná barva pozadí."
+msgstr "Barva výplně pozadí"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Selected Color"
-msgstr "Importovat vybrané"
+msgstr "Barva výplně výběru"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Completion Existing Color"
-msgstr ""
+msgstr "Barva výběru existence"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "Barva výplně scrollu"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "Barva výplně fontu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Color"
-msgstr "Další patro"
+msgstr "Barva textu"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Number Color"
-msgstr "Číslo řádku:"
+msgstr "Barva Äísla řádku"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -6357,82 +6322,73 @@ msgstr "Číslo řádku:"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
-msgstr ""
+msgstr "Barva vynechávky"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Caret Background Color"
-msgstr "Neplatná barva pozadí."
+msgstr "Barva pozadí vynechávky"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Selected Color"
-msgstr "Smazat vybraný"
+msgstr "Barva vybraného textu"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selection Color"
-msgstr "Pouze výběr"
+msgstr "Barva výběru"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "Barva neshody závorek"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Current Line Color"
-msgstr "Aktuální scéna"
+msgstr "Barva aktuálního řádku"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "Barva Äáry délky řádku"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "ZvýrazňovaÄ syntaxe"
+msgstr "Barva zvýrazněného slova"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "Barva Äísel"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "Funkce"
+msgstr "Barva funkcí"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
msgid "Member Variable Color"
-msgstr "Přejmenovat proměnnou"
+msgstr "Barva promÄ›nného Älena"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Mark Color"
-msgstr "Vyberte barvu"
+msgstr "Barva oznaÄení"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "Záložky"
+msgstr "Barva záložky"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "Breakpointy"
+msgstr "Barva bodu přerušení (Breakpointu)"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
+#, fuzzy
msgid "Executing Line Color"
-msgstr ""
+msgstr "Barva provádějící se linky"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "Barva složení kódu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "Výsledky hledání"
+msgstr "Barva výsledků hledání"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6749,7 +6705,7 @@ msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Password"
-msgstr ""
+msgstr "Heslo"
#: editor/filesystem_dock.cpp
msgid "Favorites"
@@ -7489,7 +7445,7 @@ msgstr "Pevné pixely"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "Ztrátová kvalita"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7498,14 +7454,14 @@ msgstr "Režim výběru"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "Normálová mapa"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7542,7 +7498,7 @@ msgstr "Velikost: "
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "Detekovat 3D"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7554,6 +7510,8 @@ msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"Upozornění, žádná vhodná PC VRAM komprese není povolena v nastavení "
+"projektu. Tato textura se na PC nebude zobrazovat správně."
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
@@ -7571,8 +7529,9 @@ msgid "Crop To Region"
msgstr "Nastavit oblast textury"
#: editor/import/resource_importer_texture_atlas.cpp
+#, fuzzy
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "Oříznout ohraniÄení alfa z oblasti"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
#, fuzzy
@@ -7580,8 +7539,9 @@ msgid "Force"
msgstr "Vnutit nahrátí"
#: editor/import/resource_importer_wav.cpp
+#, fuzzy
msgid "8 Bit"
-msgstr ""
+msgstr "8 Bit"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp
@@ -7601,7 +7561,7 @@ msgstr "Uzel Mix"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "Oříznout"
#: editor/import/resource_importer_wav.cpp
#, fuzzy
@@ -7694,6 +7654,8 @@ msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
msgstr ""
+"Vyberte zdrojový soubor v prohlížeÄi souboru nebo v inspektoru k úpravÄ› "
+"nastavení importu."
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
@@ -7720,7 +7682,7 @@ msgstr "Jazyky"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "Lokalizace není dostupná pro aktuální jazyk."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -8592,7 +8554,7 @@ msgstr "Filtry..."
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "Použít vlákna"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8825,7 +8787,7 @@ msgstr "Testované"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "Nepodařilo se získat konfiguraci repozitáře."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -8883,7 +8845,7 @@ msgstr "Zapéct lightmapy"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "LightMap Bake"
-msgstr ""
+msgstr "Zapéct lightmapu"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
@@ -9234,7 +9196,7 @@ msgstr "Režim škálování"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Shift: Scale proportionally."
-msgstr ""
+msgstr "Shift: ZvÄ›tÅ¡ovat proporÄnÄ›."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9400,11 +9362,11 @@ msgstr "Zobrazit mřížku"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
msgid "Show When Snapping"
-msgstr "Chytré přichcování"
+msgstr "Zobrazit při skoku"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "Schovat"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -9789,7 +9751,7 @@ msgstr "Ikona"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -10916,11 +10878,11 @@ msgstr "Výsledky hledání"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Dominant Script On Scene Change"
-msgstr ""
+msgstr "Otevřít dominantní skript při změně scény"
#: editor/plugins/script_editor_plugin.cpp
msgid "External"
-msgstr ""
+msgstr "Externí"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -10933,37 +10895,32 @@ msgid "Exec Path"
msgstr "Exportovat cestu"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "Vybrat soubor Å¡ablony"
+msgstr "Povolit teplotu skriptu"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
-msgstr ""
+msgstr "Zvýraznit aktuální skript"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "Velikost historie teploty skriptu"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Current Script Background Color"
-msgstr "Neplatná barva pozadí."
+msgstr "Barva pozadí momentálního skriptu"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "Seskupit vybrané"
+msgstr "Seskupit stránky s nápovědou"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "Vytvořit skript"
+msgstr "Seřadit skripty podle"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "List Script Names As"
-msgstr "Název skriptu:"
+msgstr "Zobrazit názvy seznamu skriptů jako"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
@@ -11667,11 +11624,11 @@ msgstr "Přepnout volný pohled"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Decrease Field of View"
-msgstr ""
+msgstr "Zmenšit zorné pole"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Increase Field of View"
-msgstr ""
+msgstr "Zvětšit zorné pole"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -12255,9 +12212,8 @@ msgid "Select all Theme items with item data."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Deselect All"
-msgstr "Vybrat vše"
+msgstr "Zrušit všechen výběr"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Deselect all Theme items."
@@ -13188,9 +13144,10 @@ msgstr "Možnosti přichycení"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Offset(Posun):"
@@ -14639,16 +14596,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Neplatná cesta k projektu (něco se změnilo?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Nelze naÄíst project.godot v umístÄ›ní projektu (chyba %d). Může chybÄ›t nebo "
"být poškozený."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Nelze upravit project.godot v umístění projektu."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Nelze otevřít projekt v '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -15852,13 +15810,12 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "Vymazat dÄ›diÄnost? (Nelze vrátit zpÄ›t!)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "Vycentrovat výběr"
+msgstr "Zobrazit výběr Tree Root ze scény"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "NaÄítat globální promÄ›nné skritpu podle názvu"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -16767,7 +16724,7 @@ msgstr ""
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "Plná velikost"
#: main/main.cpp scene/resources/dynamic_font.cpp
#, fuzzy
@@ -16805,9 +16762,8 @@ msgid "Emulate Mouse From Touch"
msgstr ""
#: main/main.cpp
-#, fuzzy
msgid "Mouse Cursor"
-msgstr "TlaÄítko myÅ¡i"
+msgstr "Kurzor myši"
#: main/main.cpp
#, fuzzy
@@ -16881,7 +16837,7 @@ msgstr "Přichytit ke stranám uzlu"
#: main/main.cpp
msgid "Dynamic Fonts"
-msgstr ""
+msgstr "Dynamické fonty"
#: main/main.cpp
msgid "Use Oversampling"
@@ -16921,21 +16877,18 @@ msgid "Calculate Tangents"
msgstr ""
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "Kolize"
+msgstr "Použít kolize"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "Kolizní režim"
+msgstr "Kolizní vrstva"
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "Kolizní režim"
+msgstr "Kolizní maska"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16950,9 +16903,8 @@ msgstr "Změnit velikost písmen"
#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/sphere_shape.cpp
-#, fuzzy
msgid "Radius"
-msgstr "Poloměr:"
+msgstr "Poloměr"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -17278,7 +17230,7 @@ msgstr ""
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
-msgstr ""
+msgstr "Použít vlákno"
#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
#, fuzzy
@@ -17310,9 +17262,8 @@ msgid "Normalized"
msgstr "Formát"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Count"
-msgstr "Množství:"
+msgstr "Množství"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
#, fuzzy
@@ -17370,9 +17321,8 @@ msgid "Indices"
msgstr "Všechna zařízení"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "FOV Size"
-msgstr "Velikost:"
+msgstr "Velikost pohledu"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
@@ -19442,9 +19392,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Neplatné jméno souboru! Android APK vyžaduje příponu *.apk."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Unsupported export format!"
-msgstr "Nepodporovaný formát exportu!\n"
+msgstr "Nepodporovaný formát exportu!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19455,15 +19404,12 @@ msgstr ""
"verzi. Přeinstalujte jej z nabídky \"Projekt\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Neshoda verzí Android buildu:\n"
-" Šablona nainstalována: %s\n"
-" Verze Godot: %s\n"
-"Přeinstalujte šablonu pro sestavení systému Android z nabídky \"Projekt\"."
+"Neshoda verzí Android buildu: Šablona nainstalována: %s, Verze Godotu: %s. "
+"Prosím, přeinstalujte Android build šablonu z nabídky \"Projekt\"."
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19471,9 +19417,8 @@ msgid ""
msgstr ""
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files to gradle project."
-msgstr "Nelze exportovat soubory projektu do projektu gradle\n"
+msgstr "Nelze exportovat soubory projektu do projektu gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19484,12 +19429,11 @@ msgid "Building Android Project (gradle)"
msgstr "Buildování projektu pro Android (gradle)"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"Buildování projektu pro Android se nezdařilo, zkontrolujte chybový výstup.\n"
+"Buildování projektu pro Android se nezdařilo, zkontrolujte chybový výstup. "
"Případně navštivte dokumentaci o build pro Android na docs.godotengine.org."
#: platform/android/export/export_plugin.cpp
@@ -19514,11 +19458,8 @@ msgid "Creating APK..."
msgstr "Vytvářím APK..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not find template APK to export: \"%s\"."
-msgstr ""
-"Nepodařilo se najít šablonu APK pro export:\n"
-"%s"
+msgstr "Nepodařilo se najít šablonu APK pro export: \"%s\""
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19640,7 +19581,7 @@ msgstr ""
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Info"
-msgstr ""
+msgstr "Info"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -21384,7 +21325,7 @@ msgstr "Místní projekty"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Draw Order"
-msgstr ""
+msgstr "Pořadí vykreslování"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21424,7 +21365,7 @@ msgstr "Směry"
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Spread"
-msgstr ""
+msgstr "Rozšířit"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21442,7 +21383,7 @@ msgstr "Inicializovat"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Angular Velocity"
-msgstr ""
+msgstr "Úhlová rychlost"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21494,12 +21435,12 @@ msgstr ""
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Damping"
-msgstr ""
+msgstr "Tlumení"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Damping Random"
-msgstr ""
+msgstr "Náhodné tlumení"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21510,12 +21451,12 @@ msgstr "Rozdělit křivku"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
msgid "Angle"
-msgstr ""
+msgstr "Úhel"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Angle Random"
-msgstr ""
+msgstr "Náhodný úhel"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21529,8 +21470,9 @@ msgid "Scale Amount"
msgstr "Množství:"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
+#, fuzzy
msgid "Scale Amount Random"
-msgstr ""
+msgstr "Škálovat náhodnou hodnotu"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#, fuzzy
@@ -21639,12 +21581,12 @@ msgstr "Deaktivované tlaÄítko"
#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Softness"
-msgstr ""
+msgstr "Měkkost"
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Length"
-msgstr ""
+msgstr "Délka"
#: scene/2d/joints_2d.cpp
#, fuzzy
@@ -21657,7 +21599,7 @@ msgstr ""
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
msgid "Stiffness"
-msgstr ""
+msgstr "Tuhost"
#: scene/2d/light_2d.cpp
msgid ""
@@ -21679,15 +21621,15 @@ msgstr "Oblast textury"
#: scene/3d/light.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
msgid "Energy"
-msgstr ""
+msgstr "Energie"
#: scene/2d/light_2d.cpp
msgid "Z Min"
-msgstr ""
+msgstr "Z Min"
#: scene/2d/light_2d.cpp
msgid "Z Max"
-msgstr ""
+msgstr "Z Max"
#: scene/2d/light_2d.cpp
#, fuzzy
@@ -21754,8 +21696,9 @@ msgid "Default Color"
msgstr "Výchozí"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
+#, fuzzy
msgid "Fill"
-msgstr ""
+msgstr "Výplň"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
#, fuzzy
@@ -23678,9 +23621,8 @@ msgid "A RoomGroup should not be a child or grandchild of a Portal."
msgstr ""
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Active"
-msgstr " [aktivní portály]"
+msgstr "Aktivní portál"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
@@ -23820,8 +23762,9 @@ msgid "There should only be one RoomManager in the SceneTree."
msgstr ""
#: scene/3d/room_manager.cpp
+#, fuzzy
msgid "Main"
-msgstr ""
+msgstr "Hlavní"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
@@ -23833,7 +23776,7 @@ msgstr "Akce"
#: scene/3d/room_manager.cpp
msgid "Roomlist"
-msgstr ""
+msgstr "Seznam místností"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
#, fuzzy
@@ -23852,7 +23795,7 @@ msgstr "Soubor ZIP"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
msgid "Gameplay"
-msgstr ""
+msgstr "Hratelnost"
#: scene/3d/room_manager.cpp
#, fuzzy
@@ -23909,8 +23852,9 @@ msgid ""
msgstr ""
#: scene/3d/room_manager.cpp
+#, fuzzy
msgid "RoomList contains no Rooms, aborting."
-msgstr ""
+msgstr "Seznam místností neobsahuje žádné místnosti, přerušování."
#: scene/3d/room_manager.cpp
msgid "Misnamed nodes detected, check output log for details. Aborting."
@@ -24135,6 +24079,15 @@ msgstr "Chyba"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Seřadit"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -24711,7 +24664,7 @@ msgstr "Vlastnosti motivu"
#: scene/gui/dialogs.cpp
msgid "Window Title"
-msgstr ""
+msgstr "Název okna"
#: scene/gui/dialogs.cpp
#, fuzzy
@@ -24777,7 +24730,7 @@ msgstr "Zobrazit kosti"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Minimapa"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
@@ -24830,7 +24783,7 @@ msgstr "Vyplnit výběr"
#: scene/gui/item_list.cpp
msgid "Max Text Lines"
-msgstr ""
+msgstr "Maximální poÄet řádků textu"
#: scene/gui/item_list.cpp
#, fuzzy
@@ -24839,15 +24792,15 @@ msgstr "Testované"
#: scene/gui/item_list.cpp
msgid "Max Columns"
-msgstr ""
+msgstr "Maximální poÄet sloupců"
#: scene/gui/item_list.cpp
msgid "Same Column Width"
-msgstr ""
+msgstr "Stejná šířka sloupce"
#: scene/gui/item_list.cpp
msgid "Fixed Column Width"
-msgstr ""
+msgstr "Pevná šířka sloupce"
#: scene/gui/item_list.cpp
#, fuzzy
@@ -24876,15 +24829,16 @@ msgstr "Přepnout viditelnost"
#: scene/gui/label.cpp
msgid "Lines Skipped"
-msgstr ""
+msgstr "PÅ™eskoÄené řádky"
#: scene/gui/label.cpp
+#, fuzzy
msgid "Max Lines Visible"
-msgstr ""
+msgstr "Maximální poÄet viditelných řádků"
#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
msgid "Max Length"
-msgstr ""
+msgstr "Maximální délka"
#: scene/gui/line_edit.cpp
msgid "Secret"
@@ -25290,7 +25244,7 @@ msgstr "Složka:"
#: scene/gui/text_edit.cpp
#, fuzzy
msgid "Drag And Drop Selection Enabled"
-msgstr "Pouze výběr"
+msgstr "Výběr přetažením povolen"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -25956,9 +25910,8 @@ msgid "H Separation"
msgstr "Oddělení:"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Underline Spacing"
-msgstr "Opakování animace"
+msgstr "Mezera podtržení"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow"
diff --git a/editor/translations/da.po b/editor/translations/da.po
index e83ef150e4..bb158fcada 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -18,13 +18,14 @@
# Autowinto <happymansi@hotmail.com>, 2020, 2021.
# Mikkel Mouridsen <mikkelmouridsen@me.com>, 2020, 2021, 2022.
# snakatk <snaqii@live.dk>, 2021.
+# Mattis Møl Kristensen <mattismoel@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-08 07:29+0000\n"
-"Last-Translator: Mikkel Mouridsen <mikkelmouridsen@me.com>\n"
+"PO-Revision-Date: 2022-11-02 18:47+0000\n"
+"Last-Translator: Mattis Møl Kristensen <mattismoel@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/"
"godot/da/>\n"
"Language: da\n"
@@ -32,7 +33,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -147,7 +148,7 @@ msgstr "Redaktør"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Udskriv fejlmeddelelser"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -13427,9 +13428,10 @@ msgstr "Singleton"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14855,13 +14857,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Kan ikke åbne projekt"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24174,6 +24176,15 @@ msgstr "Fejl!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sorter"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/de.po b/editor/translations/de.po
index 7244c02cc1..61a5a51b9c 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -86,13 +86,14 @@
# Tim <sakul8826@gmail.com>, 2022.
# Anonynonymouse <tom.spaine60388@gmail.com>, 2022.
# Felix Bitsch <felix.a.bitsch@gmail.com>, 2022.
+# miguel <miguel-gonzalez@gmx.de>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-11 22:22+0000\n"
-"Last-Translator: So Wieso <sowieso@dukun.de>\n"
+"PO-Revision-Date: 2022-12-13 13:21+0000\n"
+"Last-Translator: ‎ <artism90@googlemail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -100,7 +101,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -12889,9 +12890,10 @@ msgstr "Einrasteinstellungen"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Versatz"
@@ -13069,7 +13071,7 @@ msgstr "Pfad des privaten SSH-Schlüssels auswählen"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr "SSH-Passphrase"
+msgstr "SSH Schlüsseltext"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -14306,16 +14308,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Ungültiger Projektpfad (etwas geändert?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Die Datei project.godot im Projektpfad konnte nicht geladen werden (Fehler "
"%d). Sie könnte fehlen oder beschädigt sein."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "project.godot des Projektpfads konnte nicht bearbeitet werden."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Projekt in ‚%s‘ kann nicht geöffnet werden."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -16312,7 +16315,7 @@ msgstr "Ausrichtung"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
msgid "Common"
-msgstr "Gewöhnlich"
+msgstr "Allgemein"
#: main/main.cpp
msgid "Physics FPS"
@@ -23251,6 +23254,16 @@ msgstr "Max Kraft"
msgid "AABB"
msgstr "AABB"
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sortiere"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "Ambient verwenden"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "Geometrie"
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index fb76a2c2c7..7b7bfd71cc 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -12352,9 +12352,10 @@ msgstr ""
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13683,12 +13684,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22180,6 +22180,14 @@ msgstr ""
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr ""
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 3ab08f3dbd..98873c7d40 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -13281,9 +13281,10 @@ msgstr "Επιλογές ΠÏοσκόλλησης"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Μετατόπιση:"
@@ -14747,17 +14748,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Μη έγκυÏη διαδÏομή έÏγου (Αλλάξατε τίποτα;)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"ΑδÏνατη η φόÏτωση του project.godot (σφάλμα %d). ΜποÏεί να λείπει ή να είναι "
"κατεστÏαμένο."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-"Δεν ήταν δυνατή η επεξεÏγασία του project.godot στη διαδÏομή του έÏγου."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Αδυνατό το άνοιγμα του έÏγου στο «%s»."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24321,6 +24322,15 @@ msgstr "Σφάλμα"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ταξινόμηση"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/en_Shaw.po b/editor/translations/en_Shaw.po
index 63ce9ca3d5..60caed0d9d 100644
--- a/editor/translations/en_Shaw.po
+++ b/editor/translations/en_Shaw.po
@@ -12406,9 +12406,10 @@ msgstr "ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘¤ð‘µð‘ð‘¦ð‘™"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13745,12 +13746,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22359,6 +22359,15 @@ msgstr "ð‘¥ð‘¦ð‘®ð‘¼"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "ð‘¦ð‘¯ð‘‘ð‘»ð‘ð‘©ð‘¤ð‘±ð‘–ð‘©ð‘¯ ð‘¥ð‘´ð‘›"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index 2bcbc62274..04205e10d6 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -13088,9 +13088,10 @@ msgstr "Opcioj de kaptado"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Krada deÅovo:"
@@ -14472,16 +14473,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Nevalida dosierindiko de projekto (ÅanÄis ion ajn?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Ne eblas Åargi project.godot en projekta dosierindiko (eraro %d). Äœi eble "
"estas manka aÅ­ difektita."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Ne eblas redakti project.godot en projekta dosierindiko."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ne eblas malfermi projekton ĉe '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23733,6 +23735,15 @@ msgstr "Eraro!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Enportas:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/es.po b/editor/translations/es.po
index 629b36eea7..5d683058c3 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -43,7 +43,7 @@
# Dario <darlex259@gmail.com>, 2019.
# Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2019.
# Julián Luini <jluini@gmail.com>, 2020.
-# Victor S. <victorstancioiu@gmail.com>, 2020, 2021.
+# Victor S. <victorstancioiu@gmail.com>, 2020, 2021, 2022.
# henry rujano herrera <rujhen@gmail.com>, 2020.
# Megamega53 <Christopher.Morales21@myhunter.cuny.edu>, 2020.
# Serk Lintur <serk.lintur@gmail.com>, 2020.
@@ -60,7 +60,7 @@
# Lucasdelpiero <lucasdelpiero98@gmail.com>, 2021.
# SteamGoblin <SteamGoblin860@gmail.com>, 2021.
# Francisco C <pruebasfrancisco17@gmail.com>, 2021.
-# Cam <cameron.toms@gmail.com>, 2021.
+# Cam <cameron.toms@gmail.com>, 2021, 2022.
# Juan camilo <jugarciago01@gmail.com>, 2021.
# Manuel González <mgoopazo@gmail.com>, 2021.
# softonicblip <blazeawardspace@gmail.com>, 2021.
@@ -89,12 +89,14 @@
# Fernando Joaquin Manzano Lopez <ticantin12@gmail.com>, 2022.
# M3CG <cgmario1999@gmail.com>, 2022.
# Chalan <Valentin06ch@outlook.com>, 2022.
+# Luis Miguel Soto Sánchez <luismiguelsoto@jerez.es>, 2022.
+# Victor Stancioiu <victorstancioiu@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
+"PO-Revision-Date: 2022-11-16 22:47+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -103,7 +105,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -9706,7 +9708,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Simplified Convex Collision Sibling"
-msgstr "Crear Forma de Colisión Conexa Hermana"
+msgstr "Crear Collider Conexo Hermano"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -12886,9 +12888,10 @@ msgstr "Opciones de Ajuste"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Offset"
@@ -14305,16 +14308,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "La ruta del proyecto no es correcta (¿has cambiado algo?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"No se pudo cargar project.godot desde la ruta de proyecto (error %d). La "
"ruta no existe o está corrupta."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "No se pudo editar project.godot en la ruta del proyecto."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "No se puede abrir el proyecto en '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -16336,7 +16340,7 @@ msgstr "Imprimir FPS"
#: main/main.cpp
msgid "Verbose stdout"
-msgstr ""
+msgstr "Stdout Extendido"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
msgid "Physics Interpolation"
@@ -16507,7 +16511,7 @@ msgstr "Aceptar Cierre Del Programa Automáticamente"
#: main/main.cpp scene/main/scene_tree.cpp
msgid "Quit On Go Back"
-msgstr "Salir y Regresar"
+msgstr "Salir al Ir Atrás"
#: main/main.cpp scene/main/viewport.cpp
msgid "Snap Controls To Pixels"
@@ -19557,7 +19561,7 @@ msgstr "Depuración"
#: platform/osx/export/export.cpp
msgid "App Sandbox"
-msgstr "App Sandbox"
+msgstr "Sandbox de App"
#: platform/osx/export/export.cpp
msgid "Network Server"
@@ -19675,6 +19679,8 @@ msgid ""
"Could not start codesign executable, make sure Xcode command line tools are "
"installed."
msgstr ""
+"No se ha podido iniciar el ejecutable de codificación, asegúrate de que las "
+"herramientas de línea de comandos de Xcode están instaladas."
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "No identity found."
@@ -19700,11 +19706,11 @@ msgstr "No se ha podido iniciar el ejecutable hdiutil."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed - file exists."
-msgstr ""
+msgstr "`hdiutil create` falló - el archivo ya existe."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed."
-msgstr ""
+msgstr "`hdiutil create` falló."
#: platform/osx/export/export.cpp
msgid "Creating app bundle"
@@ -19918,11 +19924,11 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "macOS"
-msgstr ""
+msgstr "macOS"
#: platform/osx/export/export.cpp
msgid "Force Builtin Codesign"
-msgstr ""
+msgstr "Forzar Codificación Integrada"
#: platform/uwp/export/export.cpp
msgid "Architecture"
@@ -19938,7 +19944,7 @@ msgstr "Nombre Corto"
#: platform/uwp/export/export.cpp
msgid "Publisher"
-msgstr ""
+msgstr "Editor"
#: platform/uwp/export/export.cpp
msgid "Publisher Display Name"
@@ -19966,11 +19972,11 @@ msgstr "Algoritmo"
#: platform/uwp/export/export.cpp
msgid "Major"
-msgstr ""
+msgstr "Mayor"
#: platform/uwp/export/export.cpp
msgid "Minor"
-msgstr ""
+msgstr "Menor"
#: platform/uwp/export/export.cpp
msgid "Build"
@@ -19982,7 +19988,7 @@ msgstr "Revisión"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "Landscape"
#: platform/uwp/export/export.cpp
msgid "Portrait"
@@ -19990,11 +19996,11 @@ msgstr "Retrato"
#: platform/uwp/export/export.cpp
msgid "Landscape Flipped"
-msgstr ""
+msgstr "Landscape Volteado"
#: platform/uwp/export/export.cpp
msgid "Portrait Flipped"
-msgstr ""
+msgstr "Retrato Invertido"
#: platform/uwp/export/export.cpp
msgid "Store Logo"
@@ -20002,23 +20008,23 @@ msgstr "Logo de Tienda"
#: platform/uwp/export/export.cpp
msgid "Square 44 X 44 Logo"
-msgstr ""
+msgstr "Logo Cuadrado 44 X 44"
#: platform/uwp/export/export.cpp
msgid "Square 71 X 71 Logo"
-msgstr ""
+msgstr "Logo Cuadrado 71 X 71"
#: platform/uwp/export/export.cpp
msgid "Square 150 X 150 Logo"
-msgstr ""
+msgstr "Logo Cuadrado 150 X 150"
#: platform/uwp/export/export.cpp
msgid "Square 310 X 310 Logo"
-msgstr ""
+msgstr "Logo Cuadrado 310x310"
#: platform/uwp/export/export.cpp
msgid "Wide 310 X 150 Logo"
-msgstr ""
+msgstr "Logotipo Panorámico 310 X 150"
#: platform/uwp/export/export.cpp
msgid "Splash Screen"
@@ -20030,15 +20036,15 @@ msgstr "Tiles"
#: platform/uwp/export/export.cpp
msgid "Show Name On Square 150 X 150"
-msgstr ""
+msgstr "Mostrar Nombre en Cuadrado 150 X 150"
#: platform/uwp/export/export.cpp
msgid "Show Name On Wide 310 X 150"
-msgstr ""
+msgstr "Mostrar Nombre en Panorámico 310 X 150"
#: platform/uwp/export/export.cpp
msgid "Show Name On Square 310 X 310"
-msgstr ""
+msgstr "Mostrar Nombre en Cuadrado 310 X 310"
#: platform/uwp/export/export.cpp
msgid ""
@@ -20113,7 +20119,7 @@ msgstr ""
#: platform/uwp/export/export.cpp
msgid "UWP"
-msgstr ""
+msgstr "UWP"
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Signtool"
@@ -20121,7 +20127,7 @@ msgstr "Signtool"
#: platform/uwp/export/export.cpp
msgid "Debug Certificate"
-msgstr ""
+msgstr "Certificado de Depuración"
#: platform/uwp/export/export.cpp
msgid "Debug Algorithm"
@@ -20133,11 +20139,11 @@ msgstr "Fallo al renombrar el archivo temporal \"%s\"."
#: platform/windows/export/export.cpp
msgid "Identity Type"
-msgstr ""
+msgstr "Tipo de Identidad"
#: platform/windows/export/export.cpp
msgid "Timestamp Server URL"
-msgstr ""
+msgstr "URL del Servidor de Marcas de Tiempo"
#: platform/windows/export/export.cpp
msgid "Digest Algorithm"
@@ -20169,7 +20175,7 @@ msgstr "Descripción del Archivo"
#: platform/windows/export/export.cpp
msgid "Trademarks"
-msgstr ""
+msgstr "Marcas comerciales"
#: platform/windows/export/export.cpp
msgid "Resources Modification"
@@ -20254,7 +20260,7 @@ msgstr "Versión de producto no válida:"
#: platform/windows/export/export.cpp
msgid "Windows executables cannot be >= 4 GiB."
-msgstr ""
+msgstr "Los ejecutables de Windows no pueden ser >= 4 GiB."
#: platform/windows/export/export.cpp platform/x11/export/export.cpp
msgid "Failed to open executable file \"%s\"."
@@ -20262,11 +20268,11 @@ msgstr "Fallo al abrir el archivo ejecutable \"%s\"."
#: platform/windows/export/export.cpp platform/x11/export/export.cpp
msgid "Executable file header corrupted."
-msgstr ""
+msgstr "La cabecera del archivo ejecutable está corrupta."
#: platform/windows/export/export.cpp platform/x11/export/export.cpp
msgid "Executable \"pck\" section not found."
-msgstr ""
+msgstr "No se encuentra la sección ejecutable \"pck\"."
#: platform/windows/export/export.cpp
msgid "Windows"
@@ -20274,19 +20280,19 @@ msgstr "Windows"
#: platform/windows/export/export.cpp
msgid "Rcedit"
-msgstr ""
+msgstr "Rcedit"
#: platform/windows/export/export.cpp
msgid "Osslsigncode"
-msgstr ""
+msgstr "Osslsigncode"
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr ""
+msgstr "Wine"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
-msgstr ""
+msgstr "Los ejecutables de 32 bits no pueden tener datos embebidos >= 4 GiB."
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
@@ -20319,12 +20325,12 @@ msgstr "Centrado"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
msgid "Flip H"
-msgstr ""
+msgstr "Voltear H"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
msgid "Flip V"
-msgstr ""
+msgstr "Voltear V"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Monitoring"
@@ -20357,7 +20363,7 @@ msgstr "Velocidad de la Gravedad"
#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Gravity"
-msgstr ""
+msgstr "Gravedad"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Linear Damp"
@@ -20365,7 +20371,7 @@ msgstr "Amortiguación Lineal"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Angular Damp"
-msgstr ""
+msgstr "Amortiguación Angular"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Audio Bus"
@@ -20394,7 +20400,7 @@ msgstr "Reproducción Automática"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
msgid "Stream Paused"
-msgstr ""
+msgstr "Stream Pausado"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
@@ -20414,7 +20420,7 @@ msgstr "Bus"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
msgid "Area Mask"
-msgstr ""
+msgstr "Máscara de Ãrea"
#: scene/2d/back_buffer_copy.cpp
msgid "Copy Mode"
@@ -20489,7 +20495,7 @@ msgstr "Suavizar"
#: scene/2d/camera_2d.cpp
msgid "H"
-msgstr ""
+msgstr "H"
#: scene/2d/camera_2d.cpp
msgid "V"
@@ -20526,11 +20532,11 @@ msgstr "Animación de Partículas"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim H Frames"
-msgstr ""
+msgstr "Animación de partículas Fotogramas H"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim V Frames"
-msgstr ""
+msgstr "Animación de partículas Fotogramas V"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim Loop"
@@ -20551,7 +20557,7 @@ msgstr "Modulación Automática"
#: scene/2d/canvas_item.cpp
msgid "Show Behind Parent"
-msgstr ""
+msgstr "Mostrar detrás del padre"
#: scene/2d/canvas_item.cpp
msgid "Show On Top"
@@ -20564,7 +20570,7 @@ msgstr "Máscara de Luz"
#: scene/2d/canvas_item.cpp
msgid "Use Parent Material"
-msgstr ""
+msgstr "Usar el material del padre"
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -20686,7 +20692,7 @@ msgstr "Emitiendo"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Lifetime"
-msgstr ""
+msgstr "Tiempo de vida"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp scene/main/timer.cpp
@@ -20701,7 +20707,7 @@ msgstr "Preproceso"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Explosiveness"
-msgstr ""
+msgstr "Explosividad"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20711,7 +20717,7 @@ msgstr "Aleatoriedad"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Lifetime Randomness"
-msgstr ""
+msgstr "Aleatoriedad para siempre"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20721,12 +20727,12 @@ msgstr "FPS Fijos"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Fract Delta"
-msgstr ""
+msgstr "Fracción Delta"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Drawing"
-msgstr ""
+msgstr "Dibujo"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20736,7 +20742,7 @@ msgstr "Coordenadas Locales"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Draw Order"
-msgstr ""
+msgstr "Orden de dibujo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20770,7 +20776,7 @@ msgstr "Dirección"
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Spread"
-msgstr ""
+msgstr "Propagación"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20786,7 +20792,7 @@ msgstr "Velocidad Aleatoria"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Angular Velocity"
-msgstr ""
+msgstr "Velocidad angular"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20811,7 +20817,7 @@ msgstr "Aceleración"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Accel Random"
-msgstr ""
+msgstr "Aceleración aleatoria"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20821,12 +20827,12 @@ msgstr "Curva de Aceleración"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Radial Accel"
-msgstr ""
+msgstr "Aceleración radial"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Tangential Accel"
-msgstr ""
+msgstr "Aceleración tangencial"
#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
@@ -20834,12 +20840,12 @@ msgstr ""
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Damping"
-msgstr ""
+msgstr "Amortiguación"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Damping Random"
-msgstr ""
+msgstr "Amortiguación Aleatoria"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20849,12 +20855,12 @@ msgstr "Curva de Amortiguación"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
msgid "Angle"
-msgstr ""
+msgstr "Ãngulo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Angle Random"
-msgstr ""
+msgstr "Ãngulo aleatorio"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20867,7 +20873,7 @@ msgstr "Cantidad de Escala"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Random"
-msgstr ""
+msgstr "Cantidad de escalado aleatoria"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Curve"
@@ -20881,7 +20887,7 @@ msgstr "Rampa de Color"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Color Initial Ramp"
-msgstr ""
+msgstr "Color Rampa Inicial"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20955,7 +20961,7 @@ msgstr "Nodo B"
#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/resources/environment.cpp
msgid "Bias"
-msgstr ""
+msgstr "Tendencia"
#: scene/2d/joints_2d.cpp
msgid "Disable Collision"
@@ -20963,12 +20969,12 @@ msgstr "Desactivar Colisión"
#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Softness"
-msgstr ""
+msgstr "Suavidad"
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Length"
-msgstr ""
+msgstr "Longitud"
#: scene/2d/joints_2d.cpp
msgid "Initial Offset"
@@ -20976,11 +20982,11 @@ msgstr "Offset Inicial"
#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
msgid "Rest Length"
-msgstr ""
+msgstr "Duración de Reposo"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
msgid "Stiffness"
-msgstr ""
+msgstr "Rigidez"
#: scene/2d/light_2d.cpp
msgid ""
@@ -21002,15 +21008,15 @@ msgstr "Escala de Textura"
#: scene/3d/light.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
msgid "Energy"
-msgstr ""
+msgstr "Energía"
#: scene/2d/light_2d.cpp
msgid "Z Min"
-msgstr ""
+msgstr "Z Mín"
#: scene/2d/light_2d.cpp
msgid "Z Max"
-msgstr ""
+msgstr "Z Máx"
#: scene/2d/light_2d.cpp
msgid "Layer Min"
@@ -21022,7 +21028,7 @@ msgstr "Capa Máxima"
#: scene/2d/light_2d.cpp
msgid "Item Cull Mask"
-msgstr ""
+msgstr "Ãtem Cull Mask"
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
msgid "Shadow"
@@ -21103,11 +21109,11 @@ msgstr "Borde"
#: scene/2d/line_2d.cpp
msgid "Sharp Limit"
-msgstr ""
+msgstr "Límite de nitidez"
#: scene/2d/line_2d.cpp
msgid "Round Precision"
-msgstr ""
+msgstr "Precisión redondeada"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
#: scene/resources/dynamic_font.cpp
@@ -21122,7 +21128,7 @@ msgstr "Multimesh"
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
msgid "Cell Size"
-msgstr ""
+msgstr "Tamaño de la casilla"
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
msgid "Edge Connection Margin"
@@ -21134,6 +21140,9 @@ msgid ""
"will be removed in a future version. Use 'Navigation2DServer.map_get_path()' "
"instead."
msgstr ""
+"El nodo 'Navigation2D' y 'Navigation2D.get_simple_path()' están deprecados y "
+"serán eliminados en una versión future. En su lugar, usa 'Navigation2DServer."
+"map_get_path()'."
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Pathfinding"
@@ -21328,7 +21337,7 @@ msgstr "Visibilidad Rect"
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid "Process Material"
-msgstr ""
+msgstr "Material de Proceso"
#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
#: scene/resources/texture.cpp
@@ -21354,11 +21363,11 @@ msgstr "Offset V"
#: scene/2d/path_2d.cpp scene/3d/path.cpp
msgid "Cubic Interp"
-msgstr ""
+msgstr "Interp. Cúbica"
#: scene/2d/path_2d.cpp
msgid "Lookahead"
-msgstr ""
+msgstr "Preveer"
#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
msgid "Layers"
@@ -21380,11 +21389,11 @@ msgstr "Fricción"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
msgid "Bounce"
-msgstr ""
+msgstr "Rebotar"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Physics Material Override"
-msgstr ""
+msgstr "Reemplazar el material de físicas"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: scene/resources/world.cpp scene/resources/world_2d.cpp
@@ -21403,7 +21412,7 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Mass"
-msgstr ""
+msgstr "Masa"
#: scene/2d/physics_body_2d.cpp
msgid "Inertia"
@@ -21415,7 +21424,7 @@ msgstr "Peso"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Gravity Scale"
-msgstr ""
+msgstr "Escala de gravedad"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Custom Integrator"
@@ -21427,7 +21436,7 @@ msgstr "CD Continuo"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Contacts Reported"
-msgstr ""
+msgstr "Contactos reportados"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Contact Monitor"
@@ -21444,19 +21453,19 @@ msgstr "Puede Dormir"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Damp"
-msgstr ""
+msgstr "Humedad"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Angular"
-msgstr ""
+msgstr "Angular"
#: scene/2d/physics_body_2d.cpp
msgid "Applied Forces"
-msgstr ""
+msgstr "Fuerzas aplicadas"
#: scene/2d/physics_body_2d.cpp
msgid "Torque"
-msgstr ""
+msgstr "Torsión"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Safe Margin"
@@ -21472,7 +21481,7 @@ msgstr "Plataforma Móvil"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Apply Velocity On Leave"
-msgstr ""
+msgstr "Aplicar velocidad al salir"
#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
@@ -21497,7 +21506,7 @@ msgstr "Colisionador"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collider ID"
-msgstr ""
+msgstr "ID de colisionador"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
@@ -21520,11 +21529,11 @@ msgstr "Velocidad del Colisionador"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Collider Metadata"
-msgstr ""
+msgstr "Metadatos del colisionador"
#: scene/2d/polygon_2d.cpp
msgid "Invert"
-msgstr ""
+msgstr "Invertir"
#: scene/2d/polygon_2d.cpp
msgid "Vertex Colors"
@@ -21540,7 +21549,7 @@ msgstr "Extensión de Gizmos"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Exclude Parent"
-msgstr ""
+msgstr "Excluir Padre"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Cast To"
@@ -21548,15 +21557,15 @@ msgstr "Lanzar A"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
-msgstr ""
+msgstr "Colisionar con"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Areas"
-msgstr ""
+msgstr "Ãreas"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Bodies"
-msgstr ""
+msgstr "Cuerpos"
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -21596,11 +21605,11 @@ msgstr ""
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Hframes"
-msgstr ""
+msgstr "Fotogramas H"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Vframes"
-msgstr ""
+msgstr "Fotogramas V"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Frame Coords"
@@ -21658,7 +21667,7 @@ msgstr "Texturas Centradas"
#: scene/2d/tile_map.cpp
msgid "Cell Clip UV"
-msgstr ""
+msgstr "Clip de Celda UV"
#: scene/2d/tile_map.cpp
msgid "Use Parent"
@@ -21666,7 +21675,7 @@ msgstr "Usar Padres"
#: scene/2d/tile_map.cpp
msgid "Use Kinematic"
-msgstr ""
+msgstr "Usar cinemática"
#: scene/2d/touch_screen_button.cpp
msgid "Shape Centered"
@@ -21678,7 +21687,7 @@ msgstr "Forma Visible"
#: scene/2d/touch_screen_button.cpp
msgid "Passby Press"
-msgstr ""
+msgstr "Prensa de paso"
#: scene/2d/touch_screen_button.cpp
msgid "Visibility Mode"
@@ -21698,7 +21707,7 @@ msgstr "Pausar Animaciones"
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
msgid "Freeze Bodies"
-msgstr ""
+msgstr "Congelar cuerpos"
#: scene/2d/visibility_notifier_2d.cpp
msgid "Pause Particles"
@@ -21714,11 +21723,11 @@ msgstr "Procesamiento de los Padres"
#: scene/2d/visibility_notifier_2d.cpp
msgid "Physics Process Parent"
-msgstr ""
+msgstr "Procesado de Físicas Padre"
#: scene/3d/area.cpp
msgid "Reverb Bus"
-msgstr ""
+msgstr "Bus de reverberación"
#: scene/3d/area.cpp
msgid "Uniformity"
@@ -21730,11 +21739,11 @@ msgstr "ARVRCamera tiene que tener un nodo ARVROrigin como padre."
#: scene/3d/arvr_nodes.cpp
msgid "Controller ID"
-msgstr ""
+msgstr "ID del controlador"
#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
msgid "Rumble"
-msgstr ""
+msgstr "Retumbar"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRController must have an ARVROrigin node as its parent."
@@ -21778,19 +21787,19 @@ msgstr "Modelo de Atenuación"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit dB"
-msgstr ""
+msgstr "dB de la unidad"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit Size"
-msgstr ""
+msgstr "Tamaño de la unidad"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "dB Máx"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
-msgstr ""
+msgstr "Modo fuera de rango"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Emission Angle"
@@ -21806,13 +21815,13 @@ msgstr "Filtro de Atenuación dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Attenuation Filter"
-msgstr ""
+msgstr "Filtro de atenuación"
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_filter.cpp
msgid "Cutoff Hz"
-msgstr ""
+msgstr "Hz de cierre"
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_filter.cpp
@@ -21830,7 +21839,7 @@ msgstr "Seguimiento"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
msgid "Interior"
-msgstr ""
+msgstr "Interior"
#: scene/3d/baked_lightmap.cpp
msgid "Finding meshes and lights"
@@ -21864,15 +21873,15 @@ msgstr "Extensiones"
#: scene/3d/baked_lightmap.cpp
msgid "Tweaks"
-msgstr ""
+msgstr "Retoques"
#: scene/3d/baked_lightmap.cpp
msgid "Bounces"
-msgstr ""
+msgstr "Rebotes"
#: scene/3d/baked_lightmap.cpp
msgid "Bounce Indirect Energy"
-msgstr ""
+msgstr "Energía indirecta del rebote"
#: scene/3d/baked_lightmap.cpp
msgid "Use Denoiser"
@@ -21880,7 +21889,7 @@ msgstr "Usar Eliminador de Ruido"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
-msgstr ""
+msgstr "Usar HDR"
#: scene/3d/baked_lightmap.cpp
msgid "Use Color"
@@ -21940,11 +21949,11 @@ msgstr "Nombre del Hueso"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
-msgstr ""
+msgstr "Mantener aspecto"
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
-msgstr ""
+msgstr "Cull Mask"
#: scene/3d/camera.cpp
msgid "Doppler Tracking"
@@ -21956,7 +21965,7 @@ msgstr "Proyección"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr ""
+msgstr "FOV"
#: scene/3d/camera.cpp
msgid "Frustum Offset"
@@ -21968,7 +21977,7 @@ msgstr "Cercano"
#: scene/3d/camera.cpp
msgid "Far"
-msgstr ""
+msgstr "Lejos"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
@@ -21984,7 +21993,7 @@ msgstr "Recortar A"
#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
msgid "Ray Pickable"
-msgstr ""
+msgstr "Seleccionable por Rayo"
#: scene/3d/collision_object.cpp
msgid "Capture On Drag"
@@ -22089,7 +22098,7 @@ msgstr "Desactivar Z"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Flatness"
-msgstr ""
+msgstr "Llanura"
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
msgid "Portals"
@@ -22101,11 +22110,11 @@ msgstr "Modo Portal"
#: scene/3d/cull_instance.cpp
msgid "Include In Bound"
-msgstr ""
+msgstr "Incluir en límite"
#: scene/3d/cull_instance.cpp
msgid "Allow Merging"
-msgstr ""
+msgstr "Permitir fusión"
#: scene/3d/cull_instance.cpp
msgid "Autoplace Priority"
@@ -22139,7 +22148,7 @@ msgstr ""
#: scene/3d/gi_probe.cpp
msgid "Subdiv"
-msgstr ""
+msgstr "Subdividir"
#: scene/3d/gi_probe.cpp
msgid "Dynamic Range"
@@ -22147,7 +22156,7 @@ msgstr "Rango Dinámico"
#: scene/3d/gi_probe.cpp scene/3d/light.cpp
msgid "Normal Bias"
-msgstr ""
+msgstr "Tendencia normal"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
@@ -22156,7 +22165,7 @@ msgstr "Tamaño de Píxeles"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Billboard"
-msgstr ""
+msgstr "Billboard"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Shaded"
@@ -22164,11 +22173,11 @@ msgstr "Sombreado"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Double Sided"
-msgstr ""
+msgstr "Doble cara"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
msgid "No Depth Test"
-msgstr ""
+msgstr "Sin test de profundidad"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
msgid "Fixed Size"
@@ -22176,11 +22185,11 @@ msgstr "Tamaño Fijo"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Alpha Cut"
-msgstr ""
+msgstr "Corte alfa"
#: scene/3d/label_3d.cpp scene/resources/material.cpp
msgid "Alpha Scissor Threshold"
-msgstr ""
+msgstr "Umbral de recorte alfa"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
msgid "Render Priority"
@@ -22266,7 +22275,7 @@ msgstr "Rango de Profundidad"
#: scene/3d/light.cpp
msgid "Omni"
-msgstr ""
+msgstr "Omni"
#: scene/3d/light.cpp
msgid "Shadow Mode"
@@ -22283,7 +22292,7 @@ msgstr ""
#: scene/3d/light.cpp
msgid "Spot"
-msgstr ""
+msgstr "Ubicar"
#: scene/3d/light.cpp
msgid "Angle Attenuation"
@@ -22303,6 +22312,9 @@ msgid ""
"be removed in a future version. Use 'NavigationServer.map_get_path()' "
"instead."
msgstr ""
+"El nodo 'Navigation' y 'Navigation.get_simple_path()' están obsoletos y "
+"serán eliminados en una futura versión. Utiliza en su lugar "
+"'NavigationServer.map_get_path()'."
#: scene/3d/navigation.cpp scene/resources/curve.cpp
msgid "Up Vector"
@@ -22471,7 +22483,7 @@ msgstr "Restringir Articulaciones"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Impulse Clamp"
-msgstr ""
+msgstr "Restricción de Impulso"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Swing Span"
@@ -22479,7 +22491,7 @@ msgstr "Expansión de Swing"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Twist Span"
-msgstr ""
+msgstr "Extensión de Torsión"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/3d/vehicle_body.cpp
@@ -22632,7 +22644,7 @@ msgstr "El nodo A y el nodo B deben ser diferentes PhysicsBody"
#: scene/3d/physics_joint.cpp
msgid "Solver"
-msgstr ""
+msgstr "Resolver"
#: scene/3d/physics_joint.cpp
msgid "Exclude Nodes"
@@ -22644,7 +22656,7 @@ msgstr "Parámetros"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
-msgstr ""
+msgstr "Límite Angular"
#: scene/3d/physics_joint.cpp
msgid "Upper"
@@ -22724,15 +22736,15 @@ msgstr "Amortiguación Lineal X"
#: scene/3d/physics_joint.cpp
msgid "Equilibrium Point"
-msgstr ""
+msgstr "Punto de Equilibrio"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit X"
-msgstr ""
+msgstr "Límite Angular X"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor X"
-msgstr ""
+msgstr "Motor Angular X"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring X"
@@ -22752,11 +22764,11 @@ msgstr "Amortiguación Lineal Y"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Y"
-msgstr ""
+msgstr "Límite Angular Y"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor Y"
-msgstr ""
+msgstr "Motor Angular Y"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Y"
@@ -22776,11 +22788,11 @@ msgstr "Amortiguación Lineal Z"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit Z"
-msgstr ""
+msgstr "Límite Angular Z"
#: scene/3d/physics_joint.cpp
msgid "Angular Motor Z"
-msgstr ""
+msgstr "Motor Angular Z"
#: scene/3d/physics_joint.cpp
msgid "Angular Spring Z"
@@ -22804,7 +22816,7 @@ msgstr "Portal Activo"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
-msgstr ""
+msgstr "Doble Vía"
#: scene/3d/portal.cpp
msgid "Linked Room"
@@ -22820,7 +22832,7 @@ msgstr "Nombre del Grupo"
#: scene/3d/proximity_group.cpp
msgid "Dispatch Mode"
-msgstr ""
+msgstr "Modo de Entrega"
#: scene/3d/proximity_group.cpp
msgid "Grid Radius"
@@ -22832,7 +22844,7 @@ msgstr "Depurar Shape"
#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
msgid "Thickness"
-msgstr ""
+msgstr "Espesor"
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
msgid "Update Mode"
@@ -22897,11 +22909,11 @@ msgstr "Usar Simplificación Predeterminada"
#: scene/3d/room.cpp scene/3d/room_manager.cpp
msgid "Room Simplify"
-msgstr ""
+msgstr "Simplificar Room"
#: scene/3d/room.cpp
msgid "Bound"
-msgstr ""
+msgstr "Conectado"
#: scene/3d/room_group.cpp
msgid "Roomgroup Priority"
@@ -22933,7 +22945,7 @@ msgstr "Sólo debe haber un RoomManager en el SceneTree."
#: scene/3d/room_manager.cpp
msgid "Main"
-msgstr ""
+msgstr "Principal"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
@@ -22960,7 +22972,7 @@ msgstr "Nombre del Archivo PVS"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
msgid "Gameplay"
-msgstr ""
+msgstr "Gameplay"
#: scene/3d/room_manager.cpp
msgid "Gameplay Monitor"
@@ -22984,7 +22996,7 @@ msgstr "Depurar Extensión"
#: scene/3d/room_manager.cpp
msgid "Overlap Warning Threshold"
-msgstr ""
+msgstr "Umbral de Advertencia de Solapamiento"
#: scene/3d/room_manager.cpp
msgid "Preview Camera"
@@ -22992,7 +23004,7 @@ msgstr "Vista previa de la Cámara"
#: scene/3d/room_manager.cpp
msgid "Portal Depth Limit"
-msgstr ""
+msgstr "Límite de Profundidad del Portal"
#: scene/3d/room_manager.cpp
msgid "Default Portal Margin"
@@ -23074,7 +23086,7 @@ msgstr "Ãndice de Puntos"
#: scene/3d/soft_body.cpp
msgid "Spatial Attachment Path"
-msgstr ""
+msgstr "Ruta del Adjunto Espacial"
#: scene/3d/soft_body.cpp
msgid "Physics Enabled"
@@ -23094,31 +23106,31 @@ msgstr "Masa Total"
#: scene/3d/soft_body.cpp
msgid "Linear Stiffness"
-msgstr ""
+msgstr "Rigidez Lineal"
#: scene/3d/soft_body.cpp
msgid "Areaangular Stiffness"
-msgstr ""
+msgstr "Rigidez Ãrea-angular"
#: scene/3d/soft_body.cpp
msgid "Volume Stiffness"
-msgstr ""
+msgstr "Rigidez de volumen"
#: scene/3d/soft_body.cpp
msgid "Pressure Coefficient"
-msgstr ""
+msgstr "Coeficiente de presión"
#: scene/3d/soft_body.cpp
msgid "Damping Coefficient"
-msgstr ""
+msgstr "Coeficiente de amortización"
#: scene/3d/soft_body.cpp
msgid "Drag Coefficient"
-msgstr ""
+msgstr "Coeficiente de resistencia"
#: scene/3d/soft_body.cpp
msgid "Pose Matching Coefficient"
-msgstr ""
+msgstr "Coeficiente de Adaptación de la Pose"
#: scene/3d/soft_body.cpp
msgid "This body will be ignored until you set a mesh."
@@ -23156,7 +23168,7 @@ msgstr "Cantidad de Amortiguación"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
msgid "Opacity"
-msgstr ""
+msgstr "Opacidad"
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
msgid "Transparent"
@@ -23188,15 +23200,15 @@ msgstr "Fuerza del Motor"
#: scene/3d/vehicle_body.cpp
msgid "Brake"
-msgstr ""
+msgstr "Freno"
#: scene/3d/vehicle_body.cpp
msgid "Steering"
-msgstr ""
+msgstr "Dirección"
#: scene/3d/vehicle_body.cpp
msgid "VehicleBody Motion"
-msgstr ""
+msgstr "Movimiento del VehicleBody"
#: scene/3d/vehicle_body.cpp
msgid "Use As Traction"
@@ -23204,7 +23216,7 @@ msgstr "Usar Como Tracción"
#: scene/3d/vehicle_body.cpp
msgid "Use As Steering"
-msgstr ""
+msgstr "Usar Como Dirección"
#: scene/3d/vehicle_body.cpp
msgid "Wheel"
@@ -23212,7 +23224,7 @@ msgstr "Rueda"
#: scene/3d/vehicle_body.cpp
msgid "Roll Influence"
-msgstr ""
+msgstr "Influencia del Rodaje"
#: scene/3d/vehicle_body.cpp
msgid "Friction Slip"
@@ -23230,6 +23242,16 @@ msgstr "Fuerza Máxima"
msgid "AABB"
msgstr "AABB"
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordenar"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "Usar Ambiente"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "Geometría"
@@ -23260,7 +23282,7 @@ msgstr "Generar Lightmap"
#: scene/3d/visual_instance.cpp
msgid "Lightmap Scale"
-msgstr ""
+msgstr "Escala de Lightmap"
#: scene/3d/visual_instance.cpp
msgid "LOD"
@@ -23273,11 +23295,11 @@ msgstr "Distancia Mínima"
#: scene/3d/visual_instance.cpp
msgid "Min Hysteresis"
-msgstr ""
+msgstr "Histéresis Mínima"
#: scene/3d/visual_instance.cpp
msgid "Max Hysteresis"
-msgstr ""
+msgstr "Histéresis Máxima"
#: scene/3d/world_environment.cpp
msgid ""
@@ -23333,7 +23355,7 @@ msgstr "Reinicio Automático"
#: scene/animation/animation_blend_tree.cpp
msgid "Delay"
-msgstr ""
+msgstr "Retraso"
#: scene/animation/animation_blend_tree.cpp
msgid "Random Delay"
@@ -23386,7 +23408,7 @@ msgstr "Animación Asignada"
#: scene/animation/animation_player.cpp
msgid "Reset On Save"
-msgstr ""
+msgstr "Restablecer Al Guardar"
#: scene/animation/animation_player.cpp
msgid "Current Animation Length"
@@ -23406,7 +23428,7 @@ msgstr "Tiempo de Mezcla Predeterminado"
#: scene/animation/animation_player.cpp
msgid "Method Call Mode"
-msgstr ""
+msgstr "Modo de Llamada de Método"
#: scene/animation/animation_tree.cpp
msgid "In node '%s', invalid animation: '%s'."
@@ -23448,7 +23470,7 @@ msgstr "Reproductor de Animación"
#: scene/animation/animation_tree.cpp
msgid "Root Motion"
-msgstr ""
+msgstr "Movimiento de la Raíz"
#: scene/animation/animation_tree.cpp
msgid "Track"
@@ -23496,11 +23518,11 @@ msgstr "Anular Base de la Punta"
#: scene/animation/skeleton_ik.cpp
msgid "Use Magnet"
-msgstr ""
+msgstr "Usar Imán"
#: scene/animation/skeleton_ik.cpp
msgid "Magnet"
-msgstr ""
+msgstr "Imán"
#: scene/animation/skeleton_ik.cpp
msgid "Target Node"
@@ -23512,7 +23534,7 @@ msgstr "Iteraciones Máximas"
#: scene/animation/tween.cpp
msgid "Playback Process Mode"
-msgstr ""
+msgstr "Modo de Proceso de Reproducción"
#: scene/animation/tween.cpp
msgid "Playback Speed"
@@ -23534,7 +23556,7 @@ msgstr "Modo de Estiramiento"
#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
msgid "Alignment"
-msgstr ""
+msgstr "Alineamiento"
#: scene/gui/base_button.cpp
msgid "Shortcut In Tooltip"
@@ -23546,11 +23568,11 @@ msgstr "Modo de Acción"
#: scene/gui/base_button.cpp
msgid "Enabled Focus Mode"
-msgstr ""
+msgstr "Modo de Concentración Activado"
#: scene/gui/base_button.cpp
msgid "Keep Pressed Outside"
-msgstr ""
+msgstr "Mantener presionado al exterior"
#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
msgid "Shortcut"
@@ -23677,7 +23699,7 @@ msgstr "Contenido del Clip"
#: scene/gui/control.cpp scene/resources/visual_shader_nodes.cpp
msgid "Hint"
-msgstr ""
+msgstr "Indicio"
#: scene/gui/control.cpp
msgid "Tooltip"
@@ -23713,7 +23735,7 @@ msgstr "Anterior"
#: scene/gui/control.cpp
msgid "Mouse"
-msgstr ""
+msgstr "Ratón"
#: scene/gui/control.cpp
msgid "Default Cursor Shape"
@@ -23721,7 +23743,7 @@ msgstr "Forma del Cursor Predeterminado"
#: scene/gui/control.cpp
msgid "Pass On Modal Close Click"
-msgstr ""
+msgstr "Pasar Clic Al Cerrar Modal"
#: scene/gui/control.cpp
msgid "Size Flags"
@@ -23737,7 +23759,7 @@ msgstr "Propiedades del Tema"
#: scene/gui/dialogs.cpp
msgid "Window Title"
-msgstr ""
+msgstr "Título de Ventana"
#: scene/gui/dialogs.cpp
msgid "Dialog"
@@ -23745,7 +23767,7 @@ msgstr "Diálogo"
#: scene/gui/dialogs.cpp
msgid "Hide On OK"
-msgstr ""
+msgstr "Ocultar Al Aceptar"
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -23794,7 +23816,7 @@ msgstr "Mostrar Etiqueta Zoom"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Minimapa"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
@@ -23815,7 +23837,7 @@ msgstr "Comentario"
#: scene/gui/graph_node.cpp
msgid "Overlay"
-msgstr ""
+msgstr "Overlay"
#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
msgid "Columns"
@@ -23828,19 +23850,19 @@ msgstr "Temporizadores"
#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
msgid "Incremental Search Max Interval Msec"
-msgstr ""
+msgstr "Intervalo Máx. de Búsqueda Incremental Msec"
#: scene/gui/item_list.cpp scene/gui/tree.cpp
msgid "Allow Reselect"
-msgstr "Permitir Volver A Seleccionar"
+msgstr "Permitir Reselección"
#: scene/gui/item_list.cpp scene/gui/tree.cpp
msgid "Allow RMB Select"
-msgstr "Permitir Selección Con Botón Derecho Del Ratón"
+msgstr "Permitir Selección Con Botón Derecho Del Mouse"
#: scene/gui/item_list.cpp
msgid "Max Text Lines"
-msgstr ""
+msgstr "Líneas de Texto Máximas"
#: scene/gui/item_list.cpp
msgid "Auto Height"
@@ -23848,15 +23870,15 @@ msgstr "Altura Automática"
#: scene/gui/item_list.cpp
msgid "Max Columns"
-msgstr ""
+msgstr "Columnas Máximas"
#: scene/gui/item_list.cpp
msgid "Same Column Width"
-msgstr ""
+msgstr "Misma Anchura de Columna"
#: scene/gui/item_list.cpp
msgid "Fixed Column Width"
-msgstr ""
+msgstr "Anchura de Columna Fija"
#: scene/gui/item_list.cpp
msgid "Icon Scale"
@@ -23880,19 +23902,19 @@ msgstr "Porcentaje Visible"
#: scene/gui/label.cpp
msgid "Lines Skipped"
-msgstr ""
+msgstr "Líneas Omitidas"
#: scene/gui/label.cpp
msgid "Max Lines Visible"
-msgstr ""
+msgstr "Máximo de Líneas Visibles"
#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
msgid "Max Length"
-msgstr ""
+msgstr "Máxima Longitud"
#: scene/gui/line_edit.cpp
msgid "Secret"
-msgstr ""
+msgstr "Secreto"
#: scene/gui/line_edit.cpp
msgid "Secret Character"
@@ -23900,7 +23922,7 @@ msgstr "Caracter Secreto"
#: scene/gui/line_edit.cpp
msgid "Expand To Text Length"
-msgstr ""
+msgstr "Expandir a la Longitud del Texto"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Context Menu Enabled"
@@ -23929,7 +23951,7 @@ msgstr "Selección Activada"
#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
#: scene/gui/text_edit.cpp
msgid "Deselect On Focus Loss Enabled"
-msgstr ""
+msgstr "Deselección al perder el focus activada"
#: scene/gui/line_edit.cpp
msgid "Right Icon"
@@ -23941,15 +23963,15 @@ msgstr "Marcador"
#: scene/gui/line_edit.cpp
msgid "Alpha"
-msgstr ""
+msgstr "Alpha"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Caret"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
-msgstr ""
+msgstr "Parpardeo"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink Speed"
@@ -23957,7 +23979,7 @@ msgstr "Velocidad de Parpadeo"
#: scene/gui/link_button.cpp
msgid "Underline"
-msgstr ""
+msgstr "Subrayar"
#: scene/gui/menu_button.cpp
msgid "Switch On Hover"
@@ -23977,7 +23999,7 @@ msgstr "Parche de Margen"
#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
msgid "Axis Stretch"
-msgstr ""
+msgstr "Estiramiento de Eje"
#: scene/gui/nine_patch_rect.cpp
msgid ""
@@ -24023,7 +24045,7 @@ msgstr "Ocultar Al Seleccionar Elemento de Estado"
#: scene/gui/popup_menu.cpp
msgid "Submenu Popup Delay"
-msgstr ""
+msgstr "Retraso en la Aparición del Submenú"
#: scene/gui/popup_menu.cpp
msgid "Allow Search"
@@ -24059,11 +24081,11 @@ msgstr "Redondeado"
#: scene/gui/range.cpp
msgid "Allow Greater"
-msgstr ""
+msgstr "Permitir Más"
#: scene/gui/range.cpp
msgid "Allow Lesser"
-msgstr ""
+msgstr "Permitir Menos"
#: scene/gui/reference_rect.cpp
msgid "Border Color"
@@ -24095,11 +24117,11 @@ msgstr "Carácter"
#: scene/gui/rich_text_label.cpp
msgid "BBCode"
-msgstr ""
+msgstr "BBCode"
#: scene/gui/rich_text_label.cpp
msgid "Meta Underlined"
-msgstr ""
+msgstr "Meta Subrayados"
#: scene/gui/rich_text_label.cpp
msgid "Tab Size"
@@ -24111,11 +24133,11 @@ msgstr "Ajustar Altura Del Contenido"
#: scene/gui/rich_text_label.cpp
msgid "Scroll Active"
-msgstr ""
+msgstr "Scroll Activo"
#: scene/gui/rich_text_label.cpp
msgid "Scroll Following"
-msgstr ""
+msgstr "Seguir el Scroll"
#: scene/gui/rich_text_label.cpp
msgid "Selection Enabled"
@@ -24161,15 +24183,15 @@ msgstr "Zona Muerta Predeterminada del Scroll"
#: scene/gui/slider.cpp
msgid "Scrollable"
-msgstr ""
+msgstr "Desplazable"
#: scene/gui/slider.cpp
msgid "Tick Count"
-msgstr "Cantidad De Marcas"
+msgstr "Contador de Marcas"
#: scene/gui/slider.cpp
msgid "Ticks On Borders"
-msgstr "Ticks En Bordes"
+msgstr "Marcas En Los Bordes"
#: scene/gui/spin_box.cpp
msgid "Prefix"
@@ -24193,7 +24215,7 @@ msgstr "Visibilidad de los Arrastradores"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Tab Align"
-msgstr ""
+msgstr "Alineamiento de Pestaña"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Current Tab"
@@ -24205,7 +24227,7 @@ msgstr "Pestañas Visibles"
#: scene/gui/tab_container.cpp
msgid "All Tabs In Front"
-msgstr ""
+msgstr "Todas las Pestañas al Frente"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Drag To Rearrange Enabled"
@@ -24213,31 +24235,31 @@ msgstr "Arrastrar Para Reordenar Habilitado"
#: scene/gui/tab_container.cpp
msgid "Use Hidden Tabs For Min Size"
-msgstr ""
+msgstr "Usar Pestañas Ocultas Para Tamaño Mínimo"
#: scene/gui/tabs.cpp
msgid "Tab Close Display Policy"
-msgstr ""
+msgstr "Política de Botón de Cerrar Pestaña"
#: scene/gui/tabs.cpp
msgid "Scrolling Enabled"
-msgstr ""
+msgstr "Desplazamiento Activado"
#: scene/gui/text_edit.cpp
msgid "Readonly"
-msgstr ""
+msgstr "Solo Lectura"
#: scene/gui/text_edit.cpp
msgid "Bookmark Gutter"
-msgstr "Canalón de Marcadores"
+msgstr "Marca del Umbral"
#: scene/gui/text_edit.cpp
msgid "Breakpoint Gutter"
-msgstr "Canalón de Puntos de Ruptura"
+msgstr "Umbral de Ruptura"
#: scene/gui/text_edit.cpp
msgid "Fold Gutter"
-msgstr "Canalón Plegable"
+msgstr "Pliegue del Umbral"
#: scene/gui/text_edit.cpp
msgid "Drag And Drop Selection Enabled"
@@ -24269,19 +24291,19 @@ msgstr "Modo Bloque"
#: scene/gui/text_edit.cpp
msgid "Moving By Right Click"
-msgstr ""
+msgstr "Mover Con Clic Derecho"
#: scene/gui/text_edit.cpp
msgid "Text Edit Idle Detect (sec)"
-msgstr ""
+msgstr "Detección de Inactividad en la Edición de Texto (seg.)"
#: scene/gui/text_edit.cpp
msgid "Text Edit Undo Stack Max Size"
-msgstr ""
+msgstr "Número máximo de acciones recordados para deshacer"
#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
msgid "Hover"
-msgstr ""
+msgstr "Hover"
#: scene/gui/texture_button.cpp
msgid "Focused"
@@ -24298,7 +24320,7 @@ msgstr "Expandir"
#: scene/gui/texture_progress.cpp
msgid "Under"
-msgstr ""
+msgstr "Debajo"
#: scene/gui/texture_progress.cpp
msgid "Over"
@@ -24318,11 +24340,11 @@ msgstr "Modo de Relleno"
#: scene/gui/texture_progress.cpp scene/resources/material.cpp
msgid "Tint"
-msgstr ""
+msgstr "Tinte"
#: scene/gui/texture_progress.cpp
msgid "Radial Fill"
-msgstr ""
+msgstr "Relleno Radial"
#: scene/gui/texture_progress.cpp
msgid "Initial Angle"
@@ -24358,7 +24380,7 @@ msgstr "Estiramiento de Margen Inferior"
#: scene/gui/tree.cpp
msgid "Custom Minimum Height"
-msgstr ""
+msgstr "Altura Mínima Personalizada"
#: scene/gui/tree.cpp
msgid "(Other)"
@@ -24378,7 +24400,7 @@ msgstr "Ocultar Raíz"
#: scene/gui/tree.cpp
msgid "Drop Mode Flags"
-msgstr ""
+msgstr "Indicadores del Modo de Caída"
#: scene/gui/video_player.cpp
msgid "Audio Track"
@@ -24414,11 +24436,11 @@ msgstr "Descargar Tamaño del Fragmento"
#: scene/main/http_request.cpp
msgid "Body Size Limit"
-msgstr ""
+msgstr "Límite del Tamaño del Cuerpo"
#: scene/main/http_request.cpp
msgid "Max Redirects"
-msgstr ""
+msgstr "Redireccionamientos Máximos"
#: scene/main/http_request.cpp
msgid "Timeout"
@@ -24429,6 +24451,8 @@ msgid ""
"Setting node name '%s' to be unique within scene for '%s', but it's already "
"claimed by '%s'. This node is no longer set unique."
msgstr ""
+"El nombre de nodo '%s' fue establecido como único en la escena de '%s', pero "
+"ya está en uso por '%s'. Éste nodo ya no está como único."
#: scene/main/node.cpp
msgid "Name Num Separator"
@@ -24436,7 +24460,7 @@ msgstr "Separador Numérico del Nombre"
#: scene/main/node.cpp
msgid "Name Casing"
-msgstr ""
+msgstr "Capitalización de Nombre"
#: scene/main/node.cpp
msgid "Editor Description"
@@ -24488,7 +24512,7 @@ msgstr "Sugerencia de Depuración de Navegación"
#: scene/main/scene_tree.cpp
msgid "Use Font Oversampling"
-msgstr ""
+msgstr "Usar Sobremuestreo de Fuente"
#: scene/main/scene_tree.cpp
msgid "Edited Scene Root"
@@ -24496,7 +24520,7 @@ msgstr "Escena Raíz Editada"
#: scene/main/scene_tree.cpp
msgid "Root"
-msgstr ""
+msgstr "Raíz"
#: scene/main/scene_tree.cpp
msgid "Multiplayer Poll"
@@ -24505,11 +24529,11 @@ msgstr "Encuesta Multijugador"
#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
#: scene/resources/shape_2d.cpp
msgid "Shapes"
-msgstr ""
+msgstr "Formas"
#: scene/main/scene_tree.cpp
msgid "Shape Color"
-msgstr ""
+msgstr "Color de la Forma"
#: scene/main/scene_tree.cpp
msgid "Contact Color"
@@ -24517,7 +24541,7 @@ msgstr "Color de Contacto"
#: scene/main/scene_tree.cpp
msgid "Geometry Color"
-msgstr ""
+msgstr "Color de la Geometría"
#: scene/main/scene_tree.cpp
msgid "Disabled Geometry Color"
@@ -24525,7 +24549,7 @@ msgstr "Color de la Geometría Desactivada"
#: scene/main/scene_tree.cpp
msgid "Max Contacts Displayed"
-msgstr ""
+msgstr "Núm. Máx. de Contactos Mostrados"
#: scene/main/scene_tree.cpp scene/resources/shape_2d.cpp
msgid "Draw 2D Outlines"
@@ -24541,27 +24565,27 @@ msgstr "Tamaño de Atlas"
#: scene/main/scene_tree.cpp
msgid "Atlas Subdiv"
-msgstr ""
+msgstr "Subdivisión del Atlas"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "MSAA"
-msgstr ""
+msgstr "MSAA"
#: scene/main/scene_tree.cpp
msgid "Use FXAA"
-msgstr ""
+msgstr "Usar FXAA"
#: scene/main/scene_tree.cpp
msgid "Use Debanding"
-msgstr ""
+msgstr "Usar Debanding"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "HDR"
-msgstr ""
+msgstr "HDR"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "Use 32 BPC Depth"
-msgstr ""
+msgstr "Usar Profundidad de 32 BPC"
#: scene/main/scene_tree.cpp
msgid "Default Environment"
@@ -24681,7 +24705,7 @@ msgstr "Objetivo de Renderizado"
#: scene/main/viewport.cpp
msgid "V Flip"
-msgstr ""
+msgstr "Reflejo V"
#: scene/main/viewport.cpp
msgid "Clear Mode"
@@ -24709,19 +24733,19 @@ msgstr "Sombra del Atlas"
#: scene/main/viewport.cpp
msgid "Quad 0"
-msgstr ""
+msgstr "Cuadrángulo 0"
#: scene/main/viewport.cpp
msgid "Quad 1"
-msgstr ""
+msgstr "Cuadrángulo 1"
#: scene/main/viewport.cpp
msgid "Quad 2"
-msgstr ""
+msgstr "Cuadrángulo 2"
#: scene/main/viewport.cpp
msgid "Quad 3"
-msgstr ""
+msgstr "Cuadrángulo 3"
#: scene/main/viewport.cpp
msgid "Canvas Transform"
@@ -24737,7 +24761,7 @@ msgstr "Retraso del Tooltip (sec)"
#: scene/register_scene_types.cpp
msgid "Swap OK Cancel"
-msgstr "Cancelar"
+msgstr "Intercambiar Aceptar con Cancelar"
#: scene/register_scene_types.cpp
msgid "Layer Names"
@@ -24769,7 +24793,7 @@ msgstr "Navegación 3D"
#: scene/register_scene_types.cpp
msgid "Use hiDPI"
-msgstr ""
+msgstr "Usar hiDPI"
#: scene/register_scene_types.cpp
msgid "Custom"
@@ -24786,7 +24810,7 @@ msgstr "Tasa de Mezcla"
#: scene/resources/audio_stream_sample.cpp
msgid "Stereo"
-msgstr ""
+msgstr "Estéreo"
#: scene/resources/concave_polygon_shape_2d.cpp
msgid "Segments"
@@ -24798,11 +24822,11 @@ msgstr "Bakear Resolución"
#: scene/resources/curve.cpp
msgid "Bake Interval"
-msgstr ""
+msgstr "Intervalo de Bakeado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Panel"
-msgstr ""
+msgstr "Panel"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color"
@@ -24834,7 +24858,7 @@ msgstr "Espaciado del Subrayado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow"
-msgstr ""
+msgstr "Flecha"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow Margin"
@@ -24866,19 +24890,19 @@ msgstr "Radio Marcado Desactivado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Radio Unchecked"
-msgstr ""
+msgstr "Radio Desmarcado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Radio Unchecked Disabled"
-msgstr ""
+msgstr "Radio Desmarcado Desactivado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Hover Pressed"
-msgstr ""
+msgstr "Color de Fuente Hover Pulsado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Check V Adjust"
-msgstr ""
+msgstr "Comprobar Ajuste V"
#: scene/resources/default_theme/default_theme.cpp
msgid "On Disabled"
@@ -24918,7 +24942,7 @@ msgstr "Color de Fuente Seleccionada"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Uneditable"
-msgstr ""
+msgstr "Color de Fuente No Editable"
#: scene/resources/default_theme/default_theme.cpp
msgid "Cursor Color"
@@ -24942,7 +24966,7 @@ msgstr "BG"
#: scene/resources/default_theme/default_theme.cpp
msgid "FG"
-msgstr ""
+msgstr "FG"
#: scene/resources/default_theme/default_theme.cpp
msgid "Tab"
@@ -24964,7 +24988,7 @@ msgstr "Plegar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Readonly"
-msgstr ""
+msgstr "Color de Fuente de Sólo Leída"
#: scene/resources/default_theme/default_theme.cpp
msgid "Completion Lines"
@@ -24984,7 +25008,7 @@ msgstr "Enfoque de Scroll"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grabber"
-msgstr ""
+msgstr "Grabber"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grabber Highlight"
@@ -25004,11 +25028,11 @@ msgstr "Incremento Resaltado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Increment Pressed"
-msgstr ""
+msgstr "Incremento Pulsado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Decrement"
-msgstr ""
+msgstr "Decremento"
#: scene/resources/default_theme/default_theme.cpp
msgid "Decrement Highlight"
@@ -25016,7 +25040,7 @@ msgstr "Decremento Resaltado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Decrement Pressed"
-msgstr ""
+msgstr "Decremento Pulsado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Slider"
@@ -25024,11 +25048,11 @@ msgstr "Deslizador"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grabber Area"
-msgstr ""
+msgstr "Ãrea de Grabber"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grabber Area Highlight"
-msgstr ""
+msgstr "Resaltado del Ãrea de Grabber"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grabber Disabled"
@@ -25036,7 +25060,7 @@ msgstr "Agarre Desactivado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Tick"
-msgstr ""
+msgstr "Marcar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Updown"
@@ -25160,7 +25184,7 @@ msgstr "Enfoque Seleccionado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Cursor Unfocused"
-msgstr ""
+msgstr "Cursor Desenfocado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Button Pressed"
@@ -25220,7 +25244,7 @@ msgstr "Color de la Línea de Relación"
#: scene/resources/default_theme/default_theme.cpp
msgid "Custom Button Font Highlight"
-msgstr ""
+msgstr "Fuente Personalizada de Botón Resaltado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Item Margin"
@@ -25268,7 +25292,7 @@ msgstr "Pestaña Desactivada"
#: scene/resources/default_theme/default_theme.cpp
msgid "Menu"
-msgstr ""
+msgstr "Menú"
#: scene/resources/default_theme/default_theme.cpp
msgid "Menu Highlight"
@@ -25292,15 +25316,15 @@ msgstr "Margen Superior"
#: scene/resources/default_theme/default_theme.cpp
msgid "Label V Align FG"
-msgstr ""
+msgstr "Etiqueta V Alinear FG"
#: scene/resources/default_theme/default_theme.cpp
msgid "Label V Align BG"
-msgstr ""
+msgstr "Etiqueta V Alinear BG"
#: scene/resources/default_theme/default_theme.cpp
msgid "Large"
-msgstr "Largo"
+msgstr "Grande"
#: scene/resources/default_theme/default_theme.cpp
msgid "Folder"
@@ -25356,11 +25380,11 @@ msgstr "Preset BG"
#: scene/resources/default_theme/default_theme.cpp
msgid "Overbright Indicator"
-msgstr ""
+msgstr "Indicador de Exceso de Brillo"
#: scene/resources/default_theme/default_theme.cpp
msgid "Preset FG"
-msgstr "Preset FG"
+msgstr "FG Preestablecido"
#: scene/resources/default_theme/default_theme.cpp
msgid "Preset BG Icon"
@@ -25416,11 +25440,11 @@ msgstr "Ocultar Automáticamente"
#: scene/resources/default_theme/default_theme.cpp
msgid "Minus"
-msgstr ""
+msgstr "Menos"
#: scene/resources/default_theme/default_theme.cpp
msgid "More"
-msgstr ""
+msgstr "Más"
#: scene/resources/default_theme/default_theme.cpp
msgid "Grid Minor"
@@ -25452,7 +25476,7 @@ msgstr "Bezier Len Neg"
#: scene/resources/default_theme/default_theme.cpp
msgid "Port Grab Distance Horizontal"
-msgstr ""
+msgstr "Distancia de Agarre Horizontal del Puerto"
#: scene/resources/default_theme/default_theme.cpp
msgid "Port Grab Distance Vertical"
@@ -25460,7 +25484,7 @@ msgstr "Distancia Vertical del Puerto de Agarre"
#: scene/resources/dynamic_font.cpp
msgid "Hinting"
-msgstr ""
+msgstr "Hinting"
#: scene/resources/dynamic_font.cpp
msgid "Override Oversampling"
@@ -25496,11 +25520,11 @@ msgstr "Datos de la Fuente"
#: scene/resources/environment.cpp
msgid "Background"
-msgstr ""
+msgstr "Fondo"
#: scene/resources/environment.cpp scene/resources/sky.cpp
msgid "Sky"
-msgstr ""
+msgstr "Cielo"
#: scene/resources/environment.cpp
msgid "Sky Custom FOV"
@@ -25536,7 +25560,7 @@ msgstr "Contribución del Cielo"
#: scene/resources/environment.cpp
msgid "Fog"
-msgstr ""
+msgstr "Niebla"
#: scene/resources/environment.cpp
msgid "Sun Color"
@@ -25596,19 +25620,19 @@ msgstr "Exposición"
#: scene/resources/environment.cpp
msgid "White"
-msgstr ""
+msgstr "Blanco"
#: scene/resources/environment.cpp
msgid "Auto Exposure"
-msgstr ""
+msgstr "Exposición Auto"
#: scene/resources/environment.cpp
msgid "Min Luma"
-msgstr ""
+msgstr "Luma Mínimo"
#: scene/resources/environment.cpp
msgid "Max Luma"
-msgstr ""
+msgstr "Luma Máximo"
#: scene/resources/environment.cpp
msgid "SS Reflections"
@@ -25632,11 +25656,11 @@ msgstr "Tolerancia de Profundidad"
#: scene/resources/environment.cpp scene/resources/material.cpp
msgid "Roughness"
-msgstr ""
+msgstr "Aspereza"
#: scene/resources/environment.cpp
msgid "SSAO"
-msgstr ""
+msgstr "SSAO"
#: scene/resources/environment.cpp
msgid "Radius 2"
@@ -25644,7 +25668,7 @@ msgstr "Radio 2"
#: scene/resources/environment.cpp
msgid "Intensity 2"
-msgstr ""
+msgstr "Intensidad 2"
#: scene/resources/environment.cpp scene/resources/material.cpp
msgid "Light Affect"
@@ -25656,11 +25680,11 @@ msgstr "Influencia del Canal AO"
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr ""
+msgstr "Blur"
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
-msgstr ""
+msgstr "Nitidez de Borde"
#: scene/resources/environment.cpp
msgid "DOF Far Blur"
@@ -25680,7 +25704,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Glow"
-msgstr ""
+msgstr "Brillo"
#: scene/resources/environment.cpp
msgid "Levels"
@@ -25720,15 +25744,15 @@ msgstr "7"
#: scene/resources/environment.cpp
msgid "Bloom"
-msgstr ""
+msgstr "Resplandor"
#: scene/resources/environment.cpp
msgid "HDR Threshold"
-msgstr ""
+msgstr "Umbral de HDR"
#: scene/resources/environment.cpp
msgid "HDR Luminance Cap"
-msgstr ""
+msgstr "Luminancia de HDR Máxima"
#: scene/resources/environment.cpp
msgid "HDR Scale"
@@ -25740,7 +25764,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Adjustments"
-msgstr ""
+msgstr "Ajustes"
#: scene/resources/environment.cpp
msgid "Brightness"
@@ -25772,7 +25796,7 @@ msgstr "Offsets"
#: scene/resources/height_map_shape.cpp
msgid "Map Width"
-msgstr ""
+msgstr "Anchura del Mapa"
#: scene/resources/height_map_shape.cpp
msgid "Map Depth"
@@ -25784,7 +25808,7 @@ msgstr "Datos del Mapa"
#: scene/resources/line_shape_2d.cpp
msgid "D"
-msgstr ""
+msgstr "D"
#: scene/resources/material.cpp
msgid "Next Pass"
@@ -25812,11 +25836,11 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Albedo Tex Force sRGB"
-msgstr ""
+msgstr "Forzar sRGB en Textura Albedo"
#: scene/resources/material.cpp
msgid "Do Not Receive Shadows"
-msgstr ""
+msgstr "No Recibir Sombras"
#: scene/resources/material.cpp
msgid "Disable Ambient Light"
@@ -25828,7 +25852,7 @@ msgstr "Asegurar Normales Correctas"
#: scene/resources/material.cpp
msgid "Albedo Tex MSDF"
-msgstr ""
+msgstr "MSDF en Textura Albedo"
#: scene/resources/material.cpp
msgid "Vertex Color"
@@ -25836,11 +25860,11 @@ msgstr "Color del Vértice"
#: scene/resources/material.cpp
msgid "Use As Albedo"
-msgstr ""
+msgstr "Usar Como Albedo"
#: scene/resources/material.cpp
msgid "Is sRGB"
-msgstr ""
+msgstr "Es sRGB"
#: scene/resources/material.cpp servers/visual_server.cpp
msgid "Parameters"
@@ -25876,15 +25900,15 @@ msgstr "Mantener Escala del Billboard"
#: scene/resources/material.cpp
msgid "Grow"
-msgstr ""
+msgstr "Expandir"
#: scene/resources/material.cpp
msgid "Grow Amount"
-msgstr "Cantidad de Crecimiento"
+msgstr "Cantidad de Expansión"
#: scene/resources/material.cpp
msgid "Use Alpha Scissor"
-msgstr ""
+msgstr "Usar Corte Alpha"
#: scene/resources/material.cpp
msgid "Particles Anim"
@@ -25900,11 +25924,11 @@ msgstr "Cuadros V"
#: scene/resources/material.cpp
msgid "Albedo"
-msgstr ""
+msgstr "Albedo"
#: scene/resources/material.cpp
msgid "Metallic"
-msgstr ""
+msgstr "Metálico"
#: scene/resources/material.cpp
msgid "Texture Channel"
@@ -25916,15 +25940,15 @@ msgstr "Emisión"
#: scene/resources/material.cpp
msgid "On UV2"
-msgstr ""
+msgstr "En UV2"
#: scene/resources/material.cpp
msgid "NormalMap"
-msgstr ""
+msgstr "Mapa Normal"
#: scene/resources/material.cpp
msgid "Rim"
-msgstr ""
+msgstr "Borde"
#: scene/resources/material.cpp
msgid "Clearcoat"
@@ -25932,15 +25956,15 @@ msgstr "Transparencia"
#: scene/resources/material.cpp
msgid "Gloss"
-msgstr ""
+msgstr "Brillo"
#: scene/resources/material.cpp
msgid "Anisotropy"
-msgstr ""
+msgstr "Anisotropía"
#: scene/resources/material.cpp
msgid "Flowmap"
-msgstr ""
+msgstr "Flowmap"
#: scene/resources/material.cpp
msgid "Ambient Occlusion"
@@ -25948,7 +25972,7 @@ msgstr "Oclusión Ambiental"
#: scene/resources/material.cpp
msgid "Deep Parallax"
-msgstr ""
+msgstr "Paralaje Profundo"
#: scene/resources/material.cpp
msgid "Min Layers"
@@ -25960,7 +25984,7 @@ msgstr "Capas Máximas"
#: scene/resources/material.cpp
msgid "Flip Tangent"
-msgstr ""
+msgstr "Voltear Tangente"
#: scene/resources/material.cpp
msgid "Flip Binormal"
@@ -25980,7 +26004,7 @@ msgstr "Refracción"
#: scene/resources/material.cpp
msgid "Detail"
-msgstr ""
+msgstr "Detalle"
#: scene/resources/material.cpp
msgid "UV Layer"
@@ -25992,11 +26016,11 @@ msgstr "UV1"
#: scene/resources/material.cpp
msgid "Triplanar"
-msgstr ""
+msgstr "Triplanar"
#: scene/resources/material.cpp
msgid "Triplanar Sharpness"
-msgstr ""
+msgstr "Nitidez Triplanar"
#: scene/resources/material.cpp
msgid "UV2"
@@ -26008,7 +26032,7 @@ msgstr "Desvanecimiento de Proximidad"
#: scene/resources/material.cpp
msgid "Distance Fade"
-msgstr ""
+msgstr "Fade al Distanciarse"
#: scene/resources/material.cpp
msgid "Async Mode"
@@ -26020,7 +26044,7 @@ msgstr "Sugerencia de Tamaño del Lightmap"
#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
msgid "Custom AABB"
-msgstr ""
+msgstr "AABB Personalizado"
#: scene/resources/mesh_library.cpp
msgid "Mesh Transform"
@@ -26040,7 +26064,7 @@ msgstr "Formato de Transformación"
#: scene/resources/multimesh.cpp
msgid "Custom Data Format"
-msgstr ""
+msgstr "Formato de Datos Personalizado"
#: scene/resources/multimesh.cpp
msgid "Instance Count"
@@ -26048,7 +26072,7 @@ msgstr "Conteo de Instancias"
#: scene/resources/multimesh.cpp
msgid "Visible Instance Count"
-msgstr ""
+msgstr "Número de Instancias Visible"
#: scene/resources/navigation_mesh.cpp
msgid "Sampling"
@@ -26064,7 +26088,7 @@ msgstr "Tipo de Geometría Parseada"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
-msgstr ""
+msgstr "Modo de Geometría de Origen"
#: scene/resources/navigation_mesh.cpp
msgid "Source Group Name"
@@ -26072,7 +26096,7 @@ msgstr "Nombre del Grupo de Origen"
#: scene/resources/navigation_mesh.cpp
msgid "Cells"
-msgstr ""
+msgstr "Celdas"
#: scene/resources/navigation_mesh.cpp
msgid "Agents"
@@ -26080,11 +26104,11 @@ msgstr "Agentes"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
-msgstr ""
+msgstr "Escalada Máxima"
#: scene/resources/navigation_mesh.cpp
msgid "Max Slope"
-msgstr ""
+msgstr "Pendiente Máxima"
#: scene/resources/navigation_mesh.cpp
msgid "Regions"
@@ -26096,7 +26120,7 @@ msgstr "Tamaño de Unión"
#: scene/resources/navigation_mesh.cpp
msgid "Edges"
-msgstr ""
+msgstr "Aristas"
#: scene/resources/navigation_mesh.cpp
msgid "Max Error"
@@ -26104,7 +26128,7 @@ msgstr "Error Máximo"
#: scene/resources/navigation_mesh.cpp
msgid "Verts Per Poly"
-msgstr ""
+msgstr "Vértices por Poly"
#: scene/resources/navigation_mesh.cpp
msgid "Details"
@@ -26120,7 +26144,7 @@ msgstr "Error Máximo de Muestra"
#: scene/resources/navigation_mesh.cpp
msgid "Low Hanging Obstacles"
-msgstr ""
+msgstr "Obstáculos Colgando Bajo"
#: scene/resources/navigation_mesh.cpp
msgid "Ledge Spans"
@@ -26140,7 +26164,7 @@ msgstr "Bakear Offset AABB"
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
-msgstr ""
+msgstr "Esferas"
#: scene/resources/occluder_shape.cpp
msgid "OccluderShapeSphere Set Spheres"
@@ -26156,11 +26180,11 @@ msgstr "Puntos de Rotura"
#: scene/resources/packed_scene.cpp
msgid "Bundled"
-msgstr ""
+msgstr "Empaquetado"
#: scene/resources/particles_material.cpp
msgid "Trail"
-msgstr ""
+msgstr "Rastro"
#: scene/resources/particles_material.cpp
msgid "Divisor"
@@ -26200,11 +26224,11 @@ msgstr "Curva de Escala"
#: scene/resources/physics_material.cpp
msgid "Rough"
-msgstr ""
+msgstr "Ãspero"
#: scene/resources/physics_material.cpp
msgid "Absorbent"
-msgstr ""
+msgstr "Absorbente"
#: scene/resources/plane_shape.cpp
msgid "Plane"
@@ -26216,19 +26240,19 @@ msgstr "Voltear Caras"
#: scene/resources/primitive_meshes.cpp
msgid "Mid Height"
-msgstr ""
+msgstr "Altura Mediana"
#: scene/resources/primitive_meshes.cpp
msgid "Subdivide Width"
-msgstr ""
+msgstr "Anchura de Subdivisión"
#: scene/resources/primitive_meshes.cpp
msgid "Subdivide Height"
-msgstr ""
+msgstr "Altura de Subdivisión"
#: scene/resources/primitive_meshes.cpp
msgid "Subdivide Depth"
-msgstr ""
+msgstr "Profundidad de Subdivisión"
#: scene/resources/primitive_meshes.cpp
msgid "Top Radius"
@@ -26244,7 +26268,7 @@ msgstr "De Izquierda a Derecha"
#: scene/resources/primitive_meshes.cpp
msgid "Is Hemisphere"
-msgstr ""
+msgstr "Es Hemisfera"
#: scene/resources/primitive_meshes.cpp
msgid "Curve Step"
@@ -26252,15 +26276,15 @@ msgstr "Paso de Curva"
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Slips On Slope"
-msgstr ""
+msgstr "Resbala en Pendiente"
#: scene/resources/segment_shape_2d.cpp
msgid "A"
-msgstr ""
+msgstr "A"
#: scene/resources/shape_2d.cpp
msgid "Custom Solver Bias"
-msgstr ""
+msgstr "Bias de Solución Personalizado"
#: scene/resources/skin.cpp
msgid "Bind Count"
@@ -26280,7 +26304,7 @@ msgstr "Tamaño de Resplandor"
#: scene/resources/sky.cpp
msgid "Panorama"
-msgstr ""
+msgstr "Panorama"
#: scene/resources/sky.cpp
msgid "Top Color"
@@ -26308,15 +26332,15 @@ msgstr "Latitud"
#: scene/resources/sky.cpp
msgid "Longitude"
-msgstr ""
+msgstr "Longitud"
#: scene/resources/sky.cpp
msgid "Angle Min"
-msgstr ""
+msgstr "Ãngulo Mínimo"
#: scene/resources/sky.cpp
msgid "Angle Max"
-msgstr ""
+msgstr "Ãngulo Máximo"
#: scene/resources/style_box.cpp
msgid "Content Margin"
@@ -26328,7 +26352,7 @@ msgstr "Expandir Margen"
#: scene/resources/style_box.cpp
msgid "Skew"
-msgstr ""
+msgstr "Sesgo"
#: scene/resources/style_box.cpp
msgid "Corner Radius"
@@ -26336,19 +26360,19 @@ msgstr "Radio de Esquina"
#: scene/resources/style_box.cpp
msgid "Corner Detail"
-msgstr ""
+msgstr "Detalle de Esquina"
#: scene/resources/style_box.cpp
msgid "Anti Aliasing"
-msgstr ""
+msgstr "Antialias"
#: scene/resources/style_box.cpp
msgid "Grow Begin"
-msgstr ""
+msgstr "Inicio de Expansión"
#: scene/resources/style_box.cpp
msgid "Grow End"
-msgstr ""
+msgstr "Fin de Expansión"
#: scene/resources/texture.cpp
msgid "Load Path"
@@ -26404,7 +26428,7 @@ msgstr "Pausa"
#: scene/resources/texture.cpp
msgid "Which Feed"
-msgstr ""
+msgstr "Cuál Feed"
#: scene/resources/texture.cpp
msgid "Camera Is Active"
@@ -26416,7 +26440,7 @@ msgstr "Fuente Predeterminada"
#: scene/resources/visual_shader.cpp
msgid "Output Port For Preview"
-msgstr ""
+msgstr "Puerto de Salida para Previsualización"
#: scene/resources/visual_shader.cpp
msgid "Depth Draw"
@@ -26468,7 +26492,7 @@ msgstr "Tipo de Textura"
#: scene/resources/visual_shader_nodes.cpp
msgid "Cube Map"
-msgstr ""
+msgstr "Mapa de Cubo"
#: scene/resources/visual_shader_nodes.cpp
msgid "Default Value Enabled"
@@ -26500,7 +26524,7 @@ msgstr "Mapa de Navegación"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Direct Space State"
-msgstr ""
+msgstr "Estado de Espacio Directo"
#: scene/resources/world.cpp scene/resources/world_2d.cpp
msgid "Default Gravity Vector"
@@ -26536,7 +26560,7 @@ msgstr "Lienzo"
#: servers/arvr/arvr_interface.cpp
msgid "Is Primary"
-msgstr ""
+msgstr "Es Primario"
#: servers/arvr/arvr_interface.cpp
msgid "Is Initialized"
@@ -26544,11 +26568,11 @@ msgstr "Inicializado"
#: servers/arvr/arvr_interface.cpp
msgid "AR"
-msgstr ""
+msgstr "AR"
#: servers/arvr/arvr_interface.cpp
msgid "Is Anchor Detection Enabled"
-msgstr ""
+msgstr "Detección de Anclaje Está Activada"
#: servers/arvr_server.cpp
msgid "Primary Interface"
@@ -26566,36 +26590,36 @@ msgstr "Tono Aleatorio"
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
#: servers/audio/effects/audio_stream_generator.cpp
msgid "Buffer Length"
-msgstr ""
+msgstr "Longitud de Buffer"
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "Voice Count"
-msgstr ""
+msgstr "Número de Voces"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Dry"
-msgstr ""
+msgstr "Seco"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Wet"
-msgstr ""
+msgstr "Mojado"
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "Voice"
-msgstr ""
+msgstr "Voz"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Delay (ms)"
-msgstr ""
+msgstr "Retraso (ms)"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Rate Hz"
-msgstr ""
+msgstr "Velocidad en Hz"
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "Depth (ms)"
@@ -26604,7 +26628,7 @@ msgstr "Profundidad (ms)"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Level dB"
-msgstr ""
+msgstr "Nivel en dB"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
@@ -26615,11 +26639,11 @@ msgstr "Pan"
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
msgid "Gain"
-msgstr ""
+msgstr "Ganancia"
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Attack (µs)"
-msgstr ""
+msgstr "Ataque (µs)"
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Release (ms)"
@@ -26635,11 +26659,11 @@ msgstr ""
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Tap 1"
-msgstr ""
+msgstr "Toque 1"
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Tap 2"
-msgstr ""
+msgstr "Toque 2"
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_phaser.cpp
@@ -26653,15 +26677,15 @@ msgstr "Paso Bajo"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Pre Gain"
-msgstr ""
+msgstr "Pre-Ganancia"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Keep Hf Hz"
-msgstr ""
+msgstr "Mantener Hz Altas"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Drive"
-msgstr ""
+msgstr "Drive"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Post Gain"
@@ -26673,11 +26697,11 @@ msgstr "Resonancia"
#: servers/audio/effects/audio_effect_limiter.cpp
msgid "Ceiling dB"
-msgstr ""
+msgstr "dB Tope"
#: servers/audio/effects/audio_effect_limiter.cpp
msgid "Threshold dB"
-msgstr ""
+msgstr "Umbral dB"
#: servers/audio/effects/audio_effect_limiter.cpp
msgid "Soft Clip dB"
@@ -26689,15 +26713,15 @@ msgstr ""
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Range Min Hz"
-msgstr ""
+msgstr "Rango Hz Mínimo"
#: servers/audio/effects/audio_effect_phaser.cpp
msgid "Range Max Hz"
-msgstr ""
+msgstr "Rango Hz Máximo"
#: servers/audio/effects/audio_effect_pitch_shift.cpp
msgid "Oversampling"
-msgstr ""
+msgstr "Sobremuestreo"
#: servers/audio/effects/audio_effect_pitch_shift.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
@@ -26710,11 +26734,11 @@ msgstr ""
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Msec"
-msgstr ""
+msgstr "Mseg"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Room Size"
-msgstr ""
+msgstr "Tamaño de Habitación"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "High-pass"
@@ -26734,7 +26758,7 @@ msgstr "Tiempo de Extracción (ms)"
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
msgid "Surround"
-msgstr ""
+msgstr "Envolvente"
#: servers/audio_server.cpp
msgid "Enable Audio Input"
@@ -26746,7 +26770,7 @@ msgstr "Latencia de Salida"
#: servers/audio_server.cpp
msgid "Channel Disable Threshold dB"
-msgstr ""
+msgstr "Umbral dB de Deactivación de Canal"
#: servers/audio_server.cpp
msgid "Channel Disable Time"
@@ -26754,7 +26778,7 @@ msgstr "Tiempo de Desconexión del Canal"
#: servers/audio_server.cpp
msgid "Video Delay Compensation (ms)"
-msgstr ""
+msgstr "Compensación de Retraso de Vídeo (ms)"
#: servers/audio_server.cpp
msgid "Bus Count"
@@ -26770,7 +26794,7 @@ msgstr "Escala Global de Porcentajes"
#: servers/camera/camera_feed.cpp
msgid "Feed"
-msgstr ""
+msgstr "Feed"
#: servers/camera/camera_feed.cpp
msgid "Is Active"
@@ -26778,15 +26802,15 @@ msgstr "Activo"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Linear"
-msgstr ""
+msgstr "Umbral de Sueño Lineal"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Angular"
-msgstr ""
+msgstr "Umbral de Sueño Angular"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Time Before Sleep"
-msgstr ""
+msgstr "Tiempo Antes de Sueño"
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "BP Hash Table Size"
@@ -26794,11 +26818,11 @@ msgstr "Tamaño de Tabla Hash BP"
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "Large Object Surface Threshold In Cells"
-msgstr ""
+msgstr "Umbral de Superficie de Objeto Grande en Celdas"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Inverse Mass"
-msgstr ""
+msgstr "Masa Inversa"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Inverse Inertia"
@@ -26822,11 +26846,11 @@ msgstr "Velocidad Lineal"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Exclude"
-msgstr ""
+msgstr "Excluir"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Shape RID"
-msgstr ""
+msgstr "RID de Forma"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collide With Bodies"
@@ -26834,7 +26858,7 @@ msgstr "Colisión de Cuerpos"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collide With Areas"
-msgstr ""
+msgstr "Colisionar Con Ãreas"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Motion Remainder"
@@ -26870,7 +26894,7 @@ msgstr "Centro de la Masa"
#: servers/physics_server.cpp
msgid "Principal Inertia Axes"
-msgstr ""
+msgstr "Ejes de Inercia Principal"
#: servers/visual/shader_language.cpp
msgid "Varying may not be assigned in the '%s' function."
@@ -26938,7 +26962,7 @@ msgstr "Importar PVRTC"
#: servers/visual_server.cpp
msgid "Lossless Compression"
-msgstr ""
+msgstr "Compresión Sin Pérdidas"
#: servers/visual_server.cpp
msgid "Force PNG"
@@ -26946,7 +26970,7 @@ msgstr "Forzar PNG"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
-msgstr ""
+msgstr "Nivel de Compresión WebP"
#: servers/visual_server.cpp
msgid "Time Rollover Secs"
@@ -26958,19 +26982,19 @@ msgstr "Tamaño del Cubemap"
#: servers/visual_server.cpp
msgid "Quadrant 0 Subdiv"
-msgstr ""
+msgstr "Subdivisión del Cuadrante 0"
#: servers/visual_server.cpp
msgid "Quadrant 1 Subdiv"
-msgstr ""
+msgstr "Subdivisión del Cuadrante 1"
#: servers/visual_server.cpp
msgid "Quadrant 2 Subdiv"
-msgstr ""
+msgstr "Subdivisión del Cuadrante 2"
#: servers/visual_server.cpp
msgid "Quadrant 3 Subdiv"
-msgstr ""
+msgstr "Subdivisión del Cuadrante 3"
#: servers/visual_server.cpp
msgid "Shadows"
@@ -26986,11 +27010,11 @@ msgstr "Reflejos del Array de Texturas"
#: servers/visual_server.cpp
msgid "High Quality GGX"
-msgstr ""
+msgstr "GGX de Alta Calidad"
#: servers/visual_server.cpp
msgid "Irradiance Max Size"
-msgstr ""
+msgstr "Tamaño Máximo de Irradiancia"
#: servers/visual_server.cpp
msgid "Shading"
@@ -26998,19 +27022,19 @@ msgstr "Sombreado"
#: servers/visual_server.cpp
msgid "Force Vertex Shading"
-msgstr ""
+msgstr "Forzar Sombreado de Vértice"
#: servers/visual_server.cpp
msgid "Force Lambert Over Burley"
-msgstr ""
+msgstr "Forzar Lambert en Lugar de Burley"
#: servers/visual_server.cpp
msgid "Force Blinn Over GGX"
-msgstr ""
+msgstr "Forzar Blinn en Lugar de GGX"
#: servers/visual_server.cpp
msgid "Mesh Storage"
-msgstr ""
+msgstr "Almacenamiento de Malla"
#: servers/visual_server.cpp
msgid "Split Stream"
@@ -27018,7 +27042,7 @@ msgstr "Stream Dividido"
#: servers/visual_server.cpp
msgid "Use Physical Light Attenuation"
-msgstr ""
+msgstr "Usar Atenuación de Luz Física"
#: servers/visual_server.cpp
msgid "Depth Prepass"
@@ -27030,11 +27054,11 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Anisotropic Filter Level"
-msgstr ""
+msgstr "Nivel de Filtro Anisotrópico"
#: servers/visual_server.cpp
msgid "Use Nearest Mipmap Filter"
-msgstr ""
+msgstr "Usar Filtro de Mapa MIP más Cercano"
#: servers/visual_server.cpp
msgid "Skinning"
@@ -27090,7 +27114,7 @@ msgstr "Usar División en Lotes en el Editor"
#: servers/visual_server.cpp
msgid "Single Rect Fallback"
-msgstr ""
+msgstr "Alternativa de Rect Único"
#: servers/visual_server.cpp
msgid "Max Join Item Commands"
@@ -27098,11 +27122,11 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Colored Vertex Format Threshold"
-msgstr ""
+msgstr "Umbral de Formato de Vértice Coloreado"
#: servers/visual_server.cpp
msgid "Scissor Area Threshold"
-msgstr ""
+msgstr "Umbral de Ãrea de Corte"
#: servers/visual_server.cpp
msgid "Max Join Items"
@@ -27110,7 +27134,7 @@ msgstr "Elementos de Unión Máximos"
#: servers/visual_server.cpp
msgid "Batch Buffer Size"
-msgstr ""
+msgstr "Tamaño de Lote de Buffer"
#: servers/visual_server.cpp
msgid "Item Reordering Lookahead"
@@ -27126,7 +27150,7 @@ msgstr "Diagnosticar Cuadro"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
@@ -27134,7 +27158,7 @@ msgstr "Compatibilidad"
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "Desactivar Float Medio"
#: servers/visual_server.cpp
msgid "Enable High Float"
@@ -27146,11 +27170,11 @@ msgstr "Precisión"
#: servers/visual_server.cpp
msgid "UV Contract"
-msgstr ""
+msgstr "Contracción UV"
#: servers/visual_server.cpp
msgid "UV Contract Amount"
-msgstr ""
+msgstr "Cantidad de Contracción UV"
#: servers/visual_server.cpp
msgid "Use Simple PVS"
@@ -27194,7 +27218,7 @@ msgstr "Compilaciones Simultáneas Máximas"
#: servers/visual_server.cpp
msgid "Log Active Async Compiles Count"
-msgstr ""
+msgstr "Anotar Número de Compilaciones Asíncronas Activas"
#: servers/visual_server.cpp
msgid "Shader Cache Size (MB)"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index 5babe4ff23..fdb6b4f00d 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -21,13 +21,14 @@
# Manuel González <mgoopazo@gmail.com>, 2021.
# emnrx <emanuelermancia@gmail.com>, 2022.
# Mau_Restor <restor@gmail.com>, 2022.
+# Leonardo Martínez <leonardomartinez85@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-07-23 03:57+0000\n"
-"Last-Translator: Mau_Restor <restor@gmail.com>\n"
+"PO-Revision-Date: 2022-11-26 14:36+0000\n"
+"Last-Translator: emnrx <emanuelermancia@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
@@ -35,7 +36,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -71,7 +72,7 @@ msgstr "Modo de Bajo Uso del Procesador"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "Modo de Baja Utilización del Procesador en Reposo (µseg)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
@@ -141,7 +142,7 @@ msgstr "Tamaño"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "Intercambio Endiano"
#: core/bind/core_bind.cpp
msgid "Editor Hint"
@@ -248,20 +249,19 @@ msgstr "Conección"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "Tamaño de fragmento de lectura"
#: core/io/marshalls.cpp
msgid "Object ID"
msgstr "ID de Objeto"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "Activar Onion Skinning"
+msgstr "Permitir decodificación de objetos"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "Rechazar Nuevas Conexiones de Red"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
#, fuzzy
@@ -309,9 +309,8 @@ msgid "Blocking Handshake"
msgstr ""
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Editar Conexión:"
+msgstr "Máximo de Conexiones Pendientes"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -364,7 +363,6 @@ msgid "Seed"
msgstr "Semilla"
#: core/math/random_number_generator.cpp
-#, fuzzy
msgid "State"
msgstr "Estado"
@@ -381,9 +379,8 @@ msgid "Mouse Mode"
msgstr "Modo Mouse"
#: core/os/input.cpp
-#, fuzzy
msgid "Use Accumulated Input"
-msgstr "Eliminar Entrada"
+msgstr "Usar entrada acumulada"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -411,9 +408,8 @@ msgid "Command"
msgstr "Comando"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical"
-msgstr " (Física)"
+msgstr "Física"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
@@ -757,9 +753,8 @@ msgstr "Al Final de la interfaz de usuario"
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Physics"
-msgstr " (Física)"
+msgstr "(Física)"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -1073,7 +1068,7 @@ msgstr ""
#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr "Gratis"
+msgstr "Libre"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -13119,9 +13114,10 @@ msgstr "Opciones de Ajuste"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Offset:"
@@ -14563,16 +14559,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Ruta de proyecto inválida (cambiaste algo?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"No se pudo cargar project.godot desde la ruta de proyecto (error %d). La "
"ruta no existe o está corrupta."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "No se pudo editar project.godot en la ruta de proyecto."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "No se puede abrir el proyecto en '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -19323,15 +19320,13 @@ msgid "Code Signing"
msgstr "Firmando código de DMG"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"'apksigner' could not be found. Please check that the command is available "
"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"No se ha encontrado 'apksigner'.\n"
-"Por favor, comprobá que el comando esté disponible en el directorio Android "
-"SDK build-tools.\n"
-"El %s resultante está sin firmar."
+"No se ha encontrado 'apksigner'. Por favor, comprobá que el comando esté "
+"disponible en el directorio Android SDK build-tools. El %s resultante está "
+"sin firmar."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -19380,9 +19375,8 @@ msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "¡Nombre de archivo inválido! Android APK requiere la extensión *.apk."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Unsupported export format!"
-msgstr "¡Formato de exportación no soportado!\n"
+msgstr "¡Formato de exportación no soportado!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19394,16 +19388,13 @@ msgstr ""
"'Proyecto'."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"La versión de compilación de Android no coincide:\n"
-" Plantilla instalada: %s\n"
-" Versión de Godot: %s\n"
-"Por favor, reinstalá la plantilla de compilación de Android desde el menú "
-"'Proyecto'."
+"La versión de compilación de Android no coincide: Plantilla instalada: %s, "
+"Versión de Godot: %s. Por favor, reinstalá la plantilla de compilación de "
+"Android desde el menú 'Proyecto'."
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -19414,10 +19405,9 @@ msgstr ""
"el nombre del proyecto"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files to gradle project."
msgstr ""
-"No se pudieron exportar los archivos del proyecto a un proyecto gradle\n"
+"No se pudieron exportar los archivos del proyecto a un proyecto gradle."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19428,12 +19418,11 @@ msgid "Building Android Project (gradle)"
msgstr "Construir Proyecto Android (gradle)"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"La construcción del proyecto Android falló, comprueba la salida del error.\n"
+"La construcción del proyecto Android falló, comprueba la salida del error. "
"También podés visitar docs.godotengine.org para consultar la documentación "
"de compilación de Android."
@@ -19459,23 +19448,19 @@ msgid "Creating APK..."
msgstr "Creando APK..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not find template APK to export: \"%s\"."
-msgstr ""
-"No se pudo encontrar la plantilla APK para exportar:\n"
-"%s"
+msgstr "No se pudo encontrar la plantilla APK para exportar: %s"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
"Bibliotecas faltantes en la plantilla de exportación para las arquitecturas "
-"seleccionadas: %s.\n"
-"Por favor, construya una plantilla con todas las bibliotecas necesarias, o "
-"desmarque las arquitecturas faltantes en el preset de exportación."
+"seleccionadas: %s. Por favor, construya una plantilla con todas las "
+"bibliotecas necesarias, o desmarque las arquitecturas faltantes en el preset "
+"de exportación."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
@@ -20350,10 +20335,8 @@ msgid "ZIP Creation"
msgstr "Proyección"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not open file to read from path \"%s\"."
-msgstr ""
-"No se pudieron exportar los archivos del proyecto a un proyecto gradle\n"
+msgstr "No se pudieron exportar los archivos del proyecto a un proyecto gradle"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -22186,9 +22169,8 @@ msgid "Safe Margin"
msgstr "Margen Seguro"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Sync To Physics"
-msgstr " (Física)"
+msgstr "(Física)"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -23667,9 +23649,8 @@ msgid "A RoomGroup should not be a child or grandchild of a Portal."
msgstr "Un RoomGroup no debe ser hijo o nieto de un Portal."
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Active"
-msgstr " [portales activos]"
+msgstr "[portales activos]"
#: scene/3d/portal.cpp scene/resources/occluder_shape_polygon.cpp
msgid "Two Way"
@@ -24135,6 +24116,15 @@ msgstr "Error"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordenar"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "Geometría"
@@ -25863,14 +25853,12 @@ msgid "3D Render"
msgstr "Renderizador:"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "2D Physics"
-msgstr " (Física)"
+msgstr "(Física)"
#: scene/register_scene_types.cpp
-#, fuzzy
msgid "3D Physics"
-msgstr " (Física)"
+msgstr "(Física)"
#: scene/register_scene_types.cpp
#, fuzzy
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 0a4ab2fe0b..dc36ae0b94 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -12713,9 +12713,10 @@ msgstr "Intervall:"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14086,12 +14087,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23119,6 +23119,15 @@ msgstr "Viga:"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Salvestan faili:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/eu.po b/editor/translations/eu.po
index c0f1953269..79da3d56fb 100644
--- a/editor/translations/eu.po
+++ b/editor/translations/eu.po
@@ -2,7 +2,7 @@
# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
-# Julen Irazoki <rktzbkr.julen@gmail.com>, 2019.
+# Julen Irazoki <rktzbkr.julen@gmail.com>, 2019, 2022.
# Osoitz <oelkoro@gmail.com>, 2019, 2020.
# Erik Zubiria <erik@ezsd.net>, 2021.
# Sergio Varela <sergitroll9@gmail.com>, 2021.
@@ -11,15 +11,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-23 21:52+0000\n"
-"Last-Translator: Gorka Egino <gorkainventor@gmail.com>\n"
+"PO-Revision-Date: 2022-11-06 03:12+0000\n"
+"Last-Translator: Julen Irazoki <rktzbkr.julen@gmail.com>\n"
"Language-Team: Basque <https://hosted.weblate.org/projects/godot-engine/"
"godot/eu/>\n"
"Language: eu\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14.2\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -2064,7 +2064,7 @@ msgstr ""
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr ""
+msgstr "Seinaleak"
#: editor/connections_dialog.cpp
msgid "Filter signals"
@@ -3676,7 +3676,7 @@ msgstr ""
#: editor/editor_network_profiler.cpp editor/editor_node.cpp
#: scene/main/node.cpp scene/resources/default_theme/default_theme.cpp
msgid "Node"
-msgstr ""
+msgstr "Nodoa"
#: editor/editor_network_profiler.cpp
msgid "Incoming RPC"
@@ -12662,9 +12662,10 @@ msgstr "Atxikitze aukerak"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14022,12 +14023,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22940,6 +22940,15 @@ msgstr "Ispilua"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Atxikitze ezarpenak"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index 28371fdd50..ad2a56e408 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -32,13 +32,14 @@
# John Smith <pkafsharix@gmail.com>, 2022.
# Ali Jafari <ali.jafari.sn@gmail.com>, 2022.
# Ali Almasi <A710almasi@gmail.com>, 2022.
+# 2g.2d.2t <2g.2d.2t@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-19 05:22+0000\n"
-"Last-Translator: Ali Jafari <ali.jafari.sn@gmail.com>\n"
+"PO-Revision-Date: 2022-11-16 22:47+0000\n"
+"Last-Translator: 2g.2d.2t <2g.2d.2t@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/"
"godot/fa/>\n"
"Language: fa\n"
@@ -46,7 +47,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -314,9 +315,8 @@ msgid "Data Array"
msgstr "آرایه داده"
#: core/io/stream_peer_ssl.cpp
-#, fuzzy
msgid "Blocking Handshake"
-msgstr "مسدود کردن دست دادن"
+msgstr "مسدود کردن تکان دادن دست"
#: core/io/udp_server.cpp
msgid "Max Pending Connections"
@@ -533,7 +533,6 @@ msgid "Velocity"
msgstr "سرعت"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Instrument"
msgstr "ابزار"
@@ -699,9 +698,8 @@ msgid "UI Select"
msgstr "انتخاب رابط کاربری"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
-msgstr "لغو"
+msgstr "لغو رابط کاربری"
#: core/project_settings.cpp
#, fuzzy
@@ -13185,9 +13183,10 @@ msgstr "تنها در قسمت انتخاب شده"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14613,13 +14612,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "ناتوان در گشودن پروژه"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23946,6 +23945,15 @@ msgstr "بازتاب"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "مرتب‌سازی:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index bb73facb22..8aeba71bff 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -13,13 +13,14 @@
# Matti Niskanen <matti.t.niskanen@gmail.com>, 2020.
# Severi Vidnäs <severi.vidnas@gmail.com>, 2021.
# Akseli Pihlajamaa <akselijuhanipihlajamaa@gmail.com>, 2022.
+# Hannu Lammi <hpl@kapsi.fi>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-11 22:22+0000\n"
-"Last-Translator: Akseli Pihlajamaa <akselijuhanipihlajamaa@gmail.com>\n"
+"PO-Revision-Date: 2022-10-27 01:11+0000\n"
+"Last-Translator: Hannu Lammi <hpl@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
"Language: fi\n"
@@ -27,7 +28,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -137,9 +138,8 @@ msgstr "Telakan sijainti"
#: scene/resources/primitive_meshes.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
#: scene/resources/visual_shader.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Size"
-msgstr "Koko:"
+msgstr "Koko"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
@@ -152,7 +152,7 @@ msgstr "Editori"
#: core/bind/core_bind.cpp
msgid "Print Error Messages"
-msgstr ""
+msgstr "Tulosta virheilmoitukset"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -195,7 +195,7 @@ msgstr "Haun tulokset"
#: core/command_queue_mt.cpp core/message_queue.cpp main/main.cpp
msgid "Memory"
-msgstr ""
+msgstr "Muisti"
#: core/command_queue_mt.cpp core/message_queue.cpp
#: core/register_core_types.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
@@ -458,7 +458,7 @@ msgstr "Fyysinen avain"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "Unicode"
#: core/os/input_event.cpp
msgid "Echo"
@@ -486,7 +486,7 @@ msgstr "Hiiren painikkeen indeksi:"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "Kaksoisnapsautus"
#: core/os/input_event.cpp
msgid "Tilt"
@@ -510,9 +510,8 @@ msgstr "Suhteellinen tarttuminen"
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed"
-msgstr "Nopeus:"
+msgstr "Nopeus"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
@@ -525,9 +524,8 @@ msgid "Axis Value"
msgstr "Kiinnitä arvo"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Index"
-msgstr "Indeksi:"
+msgstr "Indeksi"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -639,15 +637,15 @@ msgstr "Toimintakyvytön osanen"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "Käytä piilotettua projektin datahakemistoa"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "Käytä mukautettua käyttäjähakemistoa"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "Mukautetun käyttäjähakemiston nimi"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
@@ -660,7 +658,7 @@ msgstr "Näytä kaikki"
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "Leveys"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -674,7 +672,7 @@ msgstr "Valo"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "Aina päällimmäisenä"
#: core/project_settings.cpp
#, fuzzy
@@ -818,7 +816,7 @@ msgstr " (fyysinen)"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3D"
#: core/project_settings.cpp
#, fuzzy
@@ -846,7 +844,7 @@ msgstr "Renderöijä:"
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "Laatu"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
@@ -915,15 +913,15 @@ msgstr ""
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "Android"
#: core/project_settings.cpp
msgid "Modules"
@@ -931,7 +929,7 @@ msgstr ""
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
#, fuzzy
@@ -948,7 +946,7 @@ msgstr ""
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
#, fuzzy
@@ -1047,7 +1045,7 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -1126,7 +1124,7 @@ msgstr ""
#: drivers/gles3/rasterizer_scene_gles3.cpp scene/resources/environment.cpp
msgid "High Quality"
-msgstr ""
+msgstr "Korkea laatu"
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Blend Shape Max Buffer Size (KB)"
@@ -1399,9 +1397,8 @@ msgid "Remove this track."
msgstr "Poista tämä raita."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Time (s):"
-msgstr "Aika (s): "
+msgstr "Aika (s):"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1680,9 +1677,8 @@ msgid "Add Method Track Key"
msgstr "Lisää metodikutsuraidan avainruutu"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Method not found in object:"
-msgstr "Metodia ei löydy objektista: "
+msgstr "Metodia ei löydy objektista:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -1702,7 +1698,7 @@ msgstr "Metodit"
#: editor/animation_track_editor.cpp
msgid "Bezier"
-msgstr ""
+msgstr "Bezier"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -2857,7 +2853,7 @@ msgstr "Valitse"
#: editor/editor_export.cpp
msgid "Project export for platform:"
-msgstr ""
+msgstr "Projektin vienti alustalle:"
#: editor/editor_export.cpp
#, fuzzy
@@ -2865,14 +2861,12 @@ msgid "Completed with warnings."
msgstr "Kopioi solmun polku"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Completed successfully."
-msgstr "Paketti asennettu onnistuneesti!"
+msgstr "Paketti asennettu onnistuneesti."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Failed."
-msgstr "Epäonnistui:"
+msgstr "Epäonnistui."
#: editor/editor_export.cpp
msgid "Storing File:"
@@ -2897,14 +2891,12 @@ msgid "Cannot create file \"%s\"."
msgstr "Kansiota ei voitu luoda."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Failed to export project files."
-msgstr "Ei voitu viedä projektin tiedostoja"
+msgstr "Ei voitu viedä projektin tiedostoja."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Can't open file to read from path \"%s\"."
-msgstr "Ei voida avata tiedostoa kirjoitettavaksi:"
+msgstr "Ei voida avata tiedostoa luettavaksi polulta \"%s\"."
#: editor/editor_export.cpp
#, fuzzy
@@ -2986,7 +2978,7 @@ msgstr "Värioperaattori."
#: editor/editor_export.cpp
msgid "64 Bits"
-msgstr ""
+msgstr "64 bittiä"
#: editor/editor_export.cpp
msgid "Embed PCK"
@@ -2999,19 +2991,19 @@ msgstr "Tekstuurialue"
#: editor/editor_export.cpp
msgid "BPTC"
-msgstr ""
+msgstr "BPTC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "S3TC"
-msgstr ""
+msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC"
-msgstr ""
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "ETC2"
-msgstr ""
+msgstr "ETC2"
#: editor/editor_export.cpp
#, fuzzy
@@ -3036,19 +3028,16 @@ msgid "Prepare Template"
msgstr "Hallinnoi malleja"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "The given export path doesn't exist."
-msgstr "Annettu vientipolku ei ole olemassa:"
+msgstr "Annettu vientipolku ei ole olemassa."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-#, fuzzy
msgid "Template file not found: \"%s\"."
-msgstr "Mallitiedostoa ei löytynyt:"
+msgstr "Mallitiedostoa \"%s\" ei löytynyt."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Failed to copy export template."
-msgstr "Virheellinen vientimalli:"
+msgstr "Vientimallin kopiointi epäonnistui."
#: editor/editor_export.cpp platform/windows/export/export.cpp
#: platform/x11/export/export.cpp
@@ -5253,9 +5242,8 @@ msgid "Size:"
msgstr "Koko:"
#: editor/editor_properties_array_dict.cpp
-#, fuzzy
msgid "Page:"
-msgstr "Sivu: "
+msgstr "Sivu:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5548,9 +5536,8 @@ msgid "File Dialog"
msgstr "XForm-ikkuna"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Thumbnail Size"
-msgstr "Pienoiskuva..."
+msgstr "Pienoiskuvan koko"
#: editor/editor_settings.cpp
msgid "Docks"
@@ -6212,9 +6199,8 @@ msgid "Auto Save"
msgstr "Jaa automaattisesti"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Save Before Running"
-msgstr "Tallenna kohtaus ennen suorittamista..."
+msgstr "Tallenna kohtaus ennen suorittamista"
#: editor/editor_settings.cpp
#, fuzzy
@@ -6300,9 +6286,8 @@ msgstr "Varastoidaan tiedostoa:"
#: editor/editor_settings.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Background Color"
-msgstr "Virheellinen taustaväri."
+msgstr "Taustaväri"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -8450,9 +8435,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Aseta loppuanimaatio. Tämä on hyödyllistä alisiirtymiä varten."
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition:"
-msgstr "Siirtymä: "
+msgstr "Siirtymä:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -10226,9 +10210,8 @@ msgid "Volume"
msgstr "Tilavuus"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Emission Source:"
-msgstr "Emission lähde: "
+msgstr "Emission lähde:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -11879,19 +11862,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Simplification:"
-msgstr "Yksinkertaistus: "
+msgstr "Yksinkertaistus:"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Shrink (Pixels):"
-msgstr "Kutista (pikseleissä): "
+msgstr "Kutista (pikseleissä):"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Grow (Pixels):"
-msgstr "Suurrennus (pikseleissä): "
+msgstr "Suurrennus (pikseleissä):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -13150,9 +13130,10 @@ msgstr "Tarttumisen asetukset"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Siirtymä:"
@@ -14481,14 +14462,12 @@ msgid "More Info..."
msgstr "Siirrä..."
#: editor/project_export.cpp
-#, fuzzy
msgid "Export PCK/Zip..."
-msgstr "Vie PCK/Zip"
+msgstr "Vie PCK/Zip..."
#: editor/project_export.cpp
-#, fuzzy
msgid "Export Project..."
-msgstr "Vie projekti"
+msgstr "Vie projekti..."
#: editor/project_export.cpp
msgid "Export All"
@@ -14500,9 +14479,8 @@ msgid "Choose an export mode:"
msgstr "Ole hyvä ja valitse tyhjä kansio."
#: editor/project_export.cpp
-#, fuzzy
msgid "Export All..."
-msgstr "Vie kaikki"
+msgstr "Vie kaikki..."
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
@@ -14586,16 +14564,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Virheellinen projektin polku (muuttuiko mikään?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Tiedoston project.godot lataus projektin polusta epäonnistui (virhe %d). Se "
"saattaa puuttua tai olla vioittunut."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Ei voitu muokata project.godot tiedostoa projektin polussa."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ei voida avata projektia kohteesta '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -17139,9 +17118,8 @@ msgid "Disabled GDNative Singleton"
msgstr "GDNative singleton on poistettu käytöstä"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Libraries:"
-msgstr "Kirjastot: "
+msgstr "Kirjastot:"
#: modules/gdnative/nativescript/nativescript.cpp
#, fuzzy
@@ -18063,18 +18041,16 @@ msgstr ""
"korjaa solmusi."
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Node returned an invalid sequence output:"
-msgstr "Solmu palautti virheellisen jakson tulosteen: "
+msgstr "Solmu palautti virheellisen jakson tulosteen:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Jaksobitti löytyi, mutta solmua ei löydy pinosta, raportoi bugi!"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Stack overflow with stack depth:"
-msgstr "Pinon ylivuoto pinosyvyydellä: "
+msgstr "Pinon ylivuoto pinosyvyydellä:"
#: modules/visual_script/visual_script.cpp
#, fuzzy
@@ -18444,18 +18420,16 @@ msgid "for (elem) in (input):"
msgstr "kullekin (elementille) (syötteessä):"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Input type not iterable:"
-msgstr "Syötetyyppi ei ole iteroitavissa: "
+msgstr "Syötetyyppi ei ole iteroitavissa:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "Iteraattori muuttui epäkelvoksi"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Iterator became invalid:"
-msgstr "Iteraattori muuttui epäkelvoksi: "
+msgstr "Iteraattori muuttui epäkelvoksi:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18613,19 +18587,16 @@ msgstr "Laadi taulukko"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "Iteraattori"
+msgstr "Operaattori"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Invalid argument of type:"
-msgstr ": Virheellinen argumentti tyyppiä: "
+msgstr "Virheellinen argumentti tyyppiä:"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Invalid arguments:"
-msgstr ": Virheelliset argumentit: "
+msgstr "Virheelliset argumentit:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
@@ -18637,14 +18608,12 @@ msgid "Var Name"
msgstr "Nimi"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "VariableGet not found in script:"
-msgstr "VariableGet ei löytynyt skriptistä: "
+msgstr "VariableGet ei löytynyt skriptistä:"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "VariableSet not found in script:"
-msgstr "VariableSet ei löytynyt skriptistä: "
+msgstr "VariableSet ei löytynyt skriptistä:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -19341,15 +19310,13 @@ msgid "Code Signing"
msgstr "Allekirjoitetaan DMG-koodi"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"'apksigner' could not be found. Please check that the command is available "
"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
-"'apksigner' ei löydy.\n"
-"Ole hyvä ja tarkista, että komento on saatavilla Android SDK build-tools "
-"hakemistossa.\n"
-"Tuloksena syntynyt %s on allekirjoittamaton."
+"'apksigner' ei löydy. Ole hyvä ja tarkista, että komento on saatavilla "
+"Android SDK build-tools hakemistossa. Tuloksena syntynyt %s on "
+"allekirjoittamaton."
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
@@ -19364,9 +19331,8 @@ msgid "Could not find keystore, unable to export."
msgstr "Keystorea ei löytynyt, ei voida viedä."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not start apksigner executable."
-msgstr "Aliprosessia ei voitu käynnistää!"
+msgstr "apkgsigner-käynnistystiedostoa ei voitu käynnistää."
#: platform/android/export/export_plugin.cpp
msgid "'apksigner' returned with error #%d"
@@ -19400,9 +19366,8 @@ msgstr ""
"Virheellinen tiedostonimi! Android APK tarvitsee *.apk tiedostopäätteen."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Unsupported export format!"
-msgstr "Vientiformaatti ei ole tuettu!\n"
+msgstr "Vientiformaatti ei ole tuettu!"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19413,28 +19378,24 @@ msgstr ""
"versiotietoa. Ole hyvä ja uudelleenasenna se 'Projekti'-valikosta."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Androidin käännösversion epäyhteensopivuus:\n"
-" Malli asennettu: %s\n"
-" Godotin versio: %s\n"
-"Ole hyvä ja uudelleenasenna Androidin käännösmalli 'Projekti'-valikosta."
+"Androidin käännösversion epäyhteensopivuus: Malli asennettu: %s, Godotin "
+"versio: %s. Ole hyvä ja uudelleenasenna Androidin käännösmalli 'Projekti'-"
+"valikosta."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Ei voitu ylikirjoittaa res://android/build/res/*.xml tiedostoja projektin "
-"nimellä"
+"nimellä."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files to gradle project."
-msgstr "Ei voitu viedä projektitiedostoja gradle-projektiksi.\n"
+msgstr "Ei voitu viedä projektitiedostoja gradle-projektiksi."
#: platform/android/export/export_plugin.cpp
msgid "Could not write expansion package file!"
@@ -19445,12 +19406,11 @@ msgid "Building Android Project (gradle)"
msgstr "Käännetään Android-projektia (gradle)"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
msgstr ""
-"Android-projektin käännös epäonnistui, tarkista virhe tulosteesta.\n"
+"Android-projektin käännös epäonnistui, tarkista virhe tulosteesta. "
"Vaihtoehtoisesti, lue docs.godotengine.org sivustolta Androidin "
"käännösdokumentaatio."
@@ -19467,30 +19427,25 @@ msgstr ""
"tulosteet gradle-projektin hakemistosta."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Package not found: \"%s\"."
-msgstr "Pakettia ei löytynyt: %s"
+msgstr "Pakettia ei löytynyt: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Luodaan APK:ta..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not find template APK to export: \"%s\"."
-msgstr ""
-"Ei löydetty APK-vientimallia vientiä varten:\n"
-"%s"
+msgstr "Ei löydetty APK-vientimallia vientiä varten: \"%s\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
-"Vientimalleista puuttuu kirjastoja valituille arkkitehtuureille: %s.\n"
-"Ole hyvä ja kokoa malli, jossa on kaikki tarvittavat kirjastot, tai poista "
+"Vientimalleista puuttuu kirjastoja valituille arkkitehtuureille: %s. Ole "
+"hyvä ja kokoa malli, jossa on kaikki tarvittavat kirjastot, tai poista "
"puuttuvien arkkitehtuurien valinta viennin esiasetuksista."
#: platform/android/export/export_plugin.cpp
@@ -19498,9 +19453,8 @@ msgid "Adding files..."
msgstr "Lisätään tiedostoja..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files."
-msgstr "Ei voitu viedä projektin tiedostoja"
+msgstr "Ei voitu viedä projektin tiedostoja."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19779,19 +19733,16 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Suorita viety HTML järjestelmän oletusselaimessa."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not open template for export: \"%s\"."
-msgstr "Mallin avaus vientiin epäonnistui:"
+msgstr "Mallin avaus vientiin epäonnistui: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Invalid export template: \"%s\"."
-msgstr "Virheellinen vientimalli:"
+msgstr "Virheellinen vientimalli: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not write file: \"%s\"."
-msgstr "Ei voitu kirjoittaa tiedostoa:"
+msgstr "Ei voitu kirjoittaa tiedostoa: \"%s\"."
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#, fuzzy
@@ -19799,9 +19750,8 @@ msgid "Icon Creation"
msgstr "Aseta marginaali"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not read file: \"%s\"."
-msgstr "Ei voitu lukea tiedostoa:"
+msgstr "Ei voitu lukea tiedostoa: \"%s\"."
#: platform/javascript/export/export.cpp
msgid "PWA"
@@ -19882,19 +19832,16 @@ msgid "Icon 512 X 512"
msgstr ""
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not read HTML shell: \"%s\"."
-msgstr "Ei voitu lukea HTML tulkkia:"
+msgstr "Ei voitu lukea HTML tulkkia: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not create HTTP server directory: %s."
-msgstr "Ei voitu luoda HTTP-palvelimen hakemistoa:"
+msgstr "Ei voitu luoda HTTP-palvelimen hakemistoa: %s."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Error starting HTTP server: %d."
-msgstr "Virhe käynnistettäessä HTTP-palvelinta:"
+msgstr "Virhe käynnistettäessä HTTP-palvelinta: %d."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -20191,9 +20138,8 @@ msgid "Could not open icon file \"%s\"."
msgstr "Ei voitu viedä projektin tiedostoja"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not start xcrun executable."
-msgstr "Aliprosessia ei voitu käynnistää!"
+msgstr "xcrun-käynnistystiedostoa ei voitu käynnistää."
#: platform/osx/export/export.cpp
#, fuzzy
@@ -20280,9 +20226,8 @@ msgid "DMG Creation"
msgstr "Suunnat"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not start hdiutil executable."
-msgstr "Aliprosessia ei voitu käynnistää!"
+msgstr "hkiutil-käynnistystiedostoa ei voitu käynnistää."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed - file exists."
@@ -20302,9 +20247,8 @@ msgid "Could not find template app to export: \"%s\"."
msgstr "Ei löydetty app-vientimallia vientiä varten:"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid export format."
-msgstr "Virheellinen vientimalli:"
+msgstr "Virheellinen vientimalli."
#: platform/osx/export/export.cpp
msgid ""
@@ -20369,9 +20313,8 @@ msgid "ZIP Creation"
msgstr "Projekti"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not open file to read from path \"%s\"."
-msgstr "Ei voitu viedä projektitiedostoja gradle-projektiksi.\n"
+msgstr "Ei voitu avata luettavaksi tiedostoa polulta \"%s\"."
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -20839,9 +20782,8 @@ msgid "Signtool failed to sign executable: %s."
msgstr "Virheellinen käynnistystiedosto."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Failed to remove temporary file \"%s\"."
-msgstr "Väliaikaista tiedosta ei voida poistaa:"
+msgstr "Väliaikaista tiedosta ei voida poistaa: \"%s\"."
#: platform/windows/export/export.cpp
msgid ""
@@ -21944,9 +21886,8 @@ msgstr "Matkaa"
#: scene/2d/node_2d.cpp scene/2d/polygon_2d.cpp scene/3d/spatial.cpp
#: scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Rotation Degrees"
-msgstr "Kierto %s astetta."
+msgstr "Kierto asteina"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
@@ -24204,6 +24145,15 @@ msgstr "Virhe"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Lajittele"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -25137,9 +25087,8 @@ msgid "Max Value"
msgstr "Arvo"
#: scene/gui/range.cpp
-#, fuzzy
msgid "Page"
-msgstr "Sivu: "
+msgstr "Sivu"
#: scene/gui/range.cpp
#, fuzzy
@@ -25575,9 +25524,8 @@ msgid "Max Redirects"
msgstr ""
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Timeout"
-msgstr "Aikakatkaisu."
+msgstr "Aikakatkaisu"
#: scene/main/node.cpp
msgid ""
@@ -27045,9 +26993,8 @@ msgid "Distance"
msgstr "Poimintaetäisyys:"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Transition"
-msgstr "Siirtymä: "
+msgstr "Siirtymä"
#: scene/resources/environment.cpp
msgid "DOF Near Blur"
@@ -28401,9 +28348,8 @@ msgid "Physics Engine"
msgstr "Fysiikkaruutujen %"
#: servers/physics_server.cpp
-#, fuzzy
msgid "Center Of Mass"
-msgstr "Keskitä vasemmalle"
+msgstr "Massakeskipiste"
#: servers/physics_server.cpp
msgid "Principal Inertia Axes"
@@ -28459,29 +28405,24 @@ msgid "VRAM Compression"
msgstr "Lauseke"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import BPTC"
-msgstr "Tuo"
+msgstr "Tuo BPTC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import S3TC"
-msgstr "Tuo"
+msgstr "Tuo S3TC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC"
-msgstr "Tuo"
+msgstr "Tuo ETC"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import ETC2"
-msgstr "Tuo"
+msgstr "Tuo ETC2"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Import PVRTC"
-msgstr "Tuo teema"
+msgstr "Tuo PVRTC"
#: servers/visual_server.cpp
msgid "Lossless Compression"
@@ -28612,9 +28553,8 @@ msgid "Ninepatch Mode"
msgstr "Interpolaatiotila"
#: servers/visual_server.cpp
-#, fuzzy
msgid "OpenGL"
-msgstr "Avaa"
+msgstr "OpenGL"
#: servers/visual_server.cpp
msgid "Batching Send Null"
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index e6d675f5ca..71673d8255 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-30 03:11+0000\n"
+"PO-Revision-Date: 2022-12-03 04:48+0000\n"
"Last-Translator: Marco Santos <enum.scima@gmail.com>\n"
"Language-Team: Filipino <https://hosted.weblate.org/projects/godot-engine/"
"godot/fil/>\n"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 "
"|| n % 10 == 6 || n % 10 == 9);\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -300,7 +300,7 @@ msgstr "Max na Nakabinbing Koneksyon"
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Invalid type argument to convert(), use TYPE_* constants."
msgstr ""
-"Invalid na argumento ng type sa convert(), gumamit ng mga TYPE_* constant."
+"Invalid na type argument sa convert(), gamitin ang mga TYPE_* constant."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
@@ -310,7 +310,7 @@ msgstr "Inaasahan ang isang string na may habang 1 (karakter)."
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Kulang sa bytes para i-decode ang bytes, o invalid na format."
+msgstr "Kulang sa espasyo para ma-decode ang bytes, o invalid na format."
#: core/math/expression.cpp
msgid "Invalid input %d (not passed) in expression"
@@ -318,23 +318,23 @@ msgstr "Invalid na input na %d (di pinasa) sa expression"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "Di magagamit ang self dahil null ang instance (di pinasa)"
+msgstr "Hindi magagamit ang self dahil null ang instance (di pinasa)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "Mga invalid na operand sa operator %s, %s, at %s."
+msgstr "Mga invalid na operand aa operator %s, %s, at %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr "Invalid na index ng type na %s para sa base type na %s"
+msgstr "Invalid na index ng type %s para sa base type %s"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "Invalid na napangalanang index na '%s' para sa base type na %s"
+msgstr "Invalid na may pangalang index '%s' para sa base type %s"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr "Mga invalid na argumento para i-construct ang '%s'"
+msgstr "Mga invalid na argument para i-construct ang '%s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
@@ -1033,7 +1033,7 @@ msgstr "Max na Laki ng Buffer ng Blend Shape (KB)"
#. TRANSLATORS: Adjective, refers to the mode for Bezier handles (Free, Balanced, Mirror).
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr "Libre"
+msgstr "Malaya"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
@@ -1053,51 +1053,51 @@ msgstr "Value:"
#: editor/animation_bezier_editor.cpp
msgid "Insert Key Here"
-msgstr "Magpasok ng Key Rito"
+msgstr "Mag-key rito"
#: editor/animation_bezier_editor.cpp
msgid "Duplicate Selected Key(s)"
-msgstr "Doblehin ang (mga) Napiling Key"
+msgstr "Doblehin ang (mga) napiling key"
#: editor/animation_bezier_editor.cpp
msgid "Delete Selected Key(s)"
-msgstr "Burahin ang (mga) Napiling Key"
+msgstr "Burahin ang (mga) napiling key"
#: editor/animation_bezier_editor.cpp
msgid "Add Bezier Point"
-msgstr "Magdagdag ng Bezier Point"
+msgstr "Magdagdag ng bezier point"
#: editor/animation_bezier_editor.cpp
msgid "Move Bezier Points"
-msgstr "Maglipat ng (mga) Bezier Point"
+msgstr "Maglipat ng (mga) bezier point"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "Anim Duplicate Keys"
+msgstr "I-anim ang mga key sa pagdoble"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "Anim Delete Keys"
+msgstr "I-anim ang mga key sa pagbura"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "Anim Change Keyframe Time"
+msgstr "I-anim ang oras ng pagpalit keyframe"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "Anim Change Transition"
+msgstr "I-anim ang pagpalit transition"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "Anim Change Transform"
+msgstr "I-anim ang pagpalit transform"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "Anim Change Keyframe Value"
+msgstr "I-anim ang value ng pagpalit keyframe"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "Anim Change Call"
+msgstr "I-anim ang pagpalit call"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
@@ -1207,36 +1207,36 @@ msgstr "Anim Multi Change Call"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "Baguhin ang Haba ng Animation"
+msgstr "Baguhin ang haba ng animation"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr "Baguhin ang Animation Loop"
+msgstr "Baguhin ang loop sa animation"
#: editor/animation_track_editor.cpp
msgid "Property Track"
-msgstr "Property Track"
+msgstr "Katangian"
#: editor/animation_track_editor.cpp
msgid "3D Transform Track"
-msgstr "3D Transform Track"
+msgstr "3D Transform"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr "Call Method Track"
+msgstr "Call Method"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
-msgstr "Bezier Curve Track"
+msgstr "Kurbang Bezier"
#: editor/animation_track_editor.cpp
msgid "Audio Playback Track"
-msgstr "Audio Playback Track"
+msgstr "Pag-play ng tunog"
#: editor/animation_track_editor.cpp
msgid "Animation Playback Track"
-msgstr "Animation Playback Track"
+msgstr "Pag-play sa animation"
#: editor/animation_track_editor.cpp
msgid "Animation length (frames)"
@@ -1248,28 +1248,28 @@ msgstr "Haba ng animation (segundo)"
#: editor/animation_track_editor.cpp
msgid "Add Track"
-msgstr "Magdagdag ng Track"
+msgstr "Magdagdag ng track"
#: editor/animation_track_editor.cpp
msgid "Animation Looping"
-msgstr "Pag-loop sa Animation"
+msgstr "I-loop ang animation"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Functions:"
-msgstr "Mga Function:"
+msgstr "Mga function:"
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
-msgstr "Mga Audio Clip:"
+msgstr "Mga tunog:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
-msgstr "Mga Anim Clip:"
+msgstr "Mga anim clip:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr "Baguhin ang Track Path"
+msgstr "Baguhin ang track path"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
@@ -1277,15 +1277,15 @@ msgstr "Buksan/isara ang track na ito."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr "Update Mode (kung paano itinatakda ang property na ito)"
+msgstr "Update Mode (Kung paano tinakda ang katangian na ito)"
#: editor/animation_track_editor.cpp scene/resources/gradient.cpp
msgid "Interpolation Mode"
-msgstr "Interpolation Mode"
+msgstr "Interpolation"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr "Loop Wrap Mode (ini-interpolate ang dulo sa simula ng loop)"
+msgstr "Paikot-ikot (i-interpolate ang dulo sa simula ng loop)"
#: editor/animation_track_editor.cpp
msgid "Remove this track."
@@ -1358,7 +1358,7 @@ msgstr "Mga Anim Clip:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr "Nakabukas ang Toggle Track"
+msgstr "Nakabukas ang toggle track"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -1378,7 +1378,7 @@ msgstr "I-capture"
#: editor/animation_track_editor.cpp
msgid "Nearest"
-msgstr "Pinakamalapit"
+msgstr "Malapit"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp scene/2d/physics_body_2d.cpp
@@ -1392,20 +1392,20 @@ msgstr "Cubic"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
-msgstr "Clamp Loop Interp"
+msgstr "I-clamp ang loop interp"
#: editor/animation_track_editor.cpp
msgid "Wrap Loop Interp"
-msgstr "Wrap Loop Interp"
+msgstr "I-wrap ang loop interp"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "Magpasok ng Key"
+msgstr "Magsingit ng key"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "Doblehin ang (mga) Key"
+msgstr "Doblehin ang (mga) key"
#: editor/animation_track_editor.cpp
msgid "Add RESET Value(s)"
@@ -1413,23 +1413,23 @@ msgstr "Magdagdag ng (mga) RESET value"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
-msgstr "Burahin ang (mga) Key"
+msgstr "Burahin ang (mga) key"
#: editor/animation_track_editor.cpp
msgid "Change Animation Update Mode"
-msgstr "Baguhin ang Animation Update Mode"
+msgstr "Baguhin ang pag-update sa animation"
#: editor/animation_track_editor.cpp
msgid "Change Animation Interpolation Mode"
-msgstr "Baguhin ang Animation Interpolation Mode"
+msgstr "Baguhin ang interpolation ng animation"
#: editor/animation_track_editor.cpp
msgid "Change Animation Loop Mode"
-msgstr "Baguhin ang Animation Loop Mode"
+msgstr "Baguhin ang pag-loop sa animation"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr "Tanggalin ang Anim Track"
+msgstr "Tanggalin ang anim track"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -1448,7 +1448,7 @@ msgstr ""
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
-msgstr ""
+msgstr "Gumawa ng BAGONG track para sa %s at magsingit ng key?"
#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
@@ -12480,9 +12480,10 @@ msgstr "Pag-snap"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13833,12 +13834,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22508,6 +22508,15 @@ msgstr "Salamin"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Pagsasaayos"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index e19c856222..17063caae8 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -105,13 +105,14 @@
# SCHUTZ Lucas <lucas.schutz0954@gmail.com>, 2022.
# EGuillemot <Elouen.Guillemot@gmail.com>, 2022.
# Entiz <maxime.salido@gmail.com>, 2022.
+# Callim Ethee <callimethee@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: Entiz <maxime.salido@gmail.com>\n"
+"PO-Revision-Date: 2022-10-10 18:06+0000\n"
+"Last-Translator: Helix Sir <vincentbarkmann@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -3904,7 +3905,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Could not save one or more scenes!"
-msgstr "Impossible de sauver la (les) scènes(s) !"
+msgstr "Impossible d'enregistrer la ou les scènes !"
#: editor/editor_node.cpp
msgid "Save All Scenes"
@@ -12942,9 +12943,10 @@ msgstr "Options de magnétisme"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Décalage"
@@ -14366,16 +14368,14 @@ msgstr "Chemin de projet non valide (avez-vous changé quelque chose ?)."
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
-"Impossible de charger le fichier project.godot dans le chemin du projet "
-"(erreur %d). Le fichier est manquant ou corrompu."
+"Impossible de charger le project à \"%s\" (erreur %d). Il peut être manquant "
+"ou corrompu."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
-"Impossible de modifier le fichier project.godot dans le chemin du projet."
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Impossible d'enregistrer le projet à \"%s\" (erreur %d)."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -19384,7 +19384,7 @@ msgstr "Shell HTML personnalisé"
#: platform/javascript/export/export.cpp
msgid "Head Include"
-msgstr ""
+msgstr "Inclure la tête de fichier"
#: platform/javascript/export/export.cpp
msgid "Canvas Resize Policy"
@@ -19392,7 +19392,7 @@ msgstr "Politique de redimensionnement du canevas"
#: platform/javascript/export/export.cpp
msgid "Focus Canvas On Start"
-msgstr ""
+msgstr "Sélectionner le canevas au démarrage"
#: platform/javascript/export/export.cpp
msgid "Experimental Virtual Keyboard"
@@ -19499,9 +19499,8 @@ msgid "Failed to get CodeResources hash."
msgstr "La récupération du hachage de CodeResources a échouée."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Extension invalide."
+msgstr "Fichier de permissions invalide."
#: platform/osx/export/codesign.cpp
msgid "Invalid executable file."
@@ -19582,16 +19581,15 @@ msgstr "Horodatage"
#: platform/osx/export/export.cpp
msgid "Hardened Runtime"
-msgstr ""
+msgstr "Environnement d'exécution Renforcé"
#: platform/osx/export/export.cpp
msgid "Replace Existing Signature"
msgstr "Remplacer la signature existante"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Entitlements"
-msgstr "Gadgets"
+msgstr "Permissions"
#: platform/osx/export/export.cpp
msgid "Custom File"
@@ -19607,7 +19605,7 @@ msgstr "Autoriser la mémoire exécutable non signée"
#: platform/osx/export/export.cpp
msgid "Allow Dyld Environment Variables"
-msgstr ""
+msgstr "Autoriser les variables d'environnement Dyld"
#: platform/osx/export/export.cpp
msgid "Disable Library Validation"
@@ -19662,28 +19660,24 @@ msgid "Files Downloads"
msgstr "Téléchargement de fichiers"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Pictures"
-msgstr "Fonctionnalités"
+msgstr "Fichiers Images"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Music"
-msgstr "Fichier"
+msgstr "Fichiers Musicaux"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Movies"
-msgstr "Filtrer les tuiles"
+msgstr "Fichiers Vidéo"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
msgid "Custom Options"
msgstr "Options personnalisées"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization"
-msgstr "Localisation"
+msgstr "Notarisation"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
@@ -19711,7 +19705,7 @@ msgstr "Notarisation échouée."
#: platform/osx/export/export.cpp
msgid "Notarization request UUID: \"%s\""
-msgstr ""
+msgstr "UUID de la requête de notarisation : \"%s\""
#: platform/osx/export/export.cpp
msgid ""
@@ -19747,10 +19741,12 @@ msgstr ""
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and was disabled!"
msgstr ""
+"L'Environnement d'exécution Renforcé n'est pas compatible avec la signature "
+"ad-hoc et a été désactivé !"
#: platform/osx/export/export.cpp
msgid "Built-in CodeSign failed with error \"%s\"."
-msgstr ""
+msgstr "CodeSign intégré a échoué avec l'erreur : \"%s\"."
#: platform/osx/export/export.cpp
msgid "Built-in CodeSign require regex module."
@@ -19908,33 +19904,32 @@ msgid "Notarization: Hardened runtime is required for notarization."
msgstr "Notarisation : exécution renforcée nécessaire pour la notarisation."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Certification : exécution renforcée requise."
+msgstr "Notarisation : Horodatage nécessaire à la notarisation."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
-msgstr "Certification : Identifiant Apple ID non spécifié."
+msgstr "Notarisation : Identifiant Apple ID non spécifié."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID password not specified."
-msgstr "Certification : Mot de passe Apple ID non spécifié."
+msgstr "Notarisation : Mot de passe Apple ID non spécifié."
#: platform/osx/export/export.cpp
msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
-"Attention : La certification est désactivé. Le projet exporté sera bloqué "
-"par Gatekeeper si il est téléchargé depuis une source inconnue."
+"Attention : La notarisation est désactivée. Le projet exporté sera bloqué "
+"par Gatekeeper s'il est téléchargé depuis une source inconnue."
#: platform/osx/export/export.cpp
msgid ""
"Code signing is disabled. The exported project will not run on Macs with "
"enabled Gatekeeper and Apple Silicon powered Macs."
msgstr ""
-"La signature du code est désactivé. Le projet exporté ne fonctionnera pas "
-"sur les Macs avec Gatekeeper activé et sous les Macs fonctionnant sous Apple "
+"La signature du code est désactivée. Le projet exporté ne fonctionnera pas "
+"sur les Macs avec Gatekeeper activé ni sur les Macs fonctionnant sous Apple "
"Silicon."
#: platform/osx/export/export.cpp
@@ -19942,12 +19937,14 @@ msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"L'Environnement d'éxécution renforcé n'est pas compatible avec la signature "
+"ad-hoc et va être désactivé !"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
-"L'horodatage n'est pas compatible avec la signature ad-hoc et a été "
+"L'horodatage n'est pas compatible avec la signature ad-hoc et va être "
"désactivé !"
#: platform/osx/export/export.cpp
@@ -19955,7 +19952,7 @@ msgid ""
"Warning: Notarization is not supported from this OS. The exported project "
"will be blocked by Gatekeeper if it's downloaded from an unknown source."
msgstr ""
-"Attention : La certification n'est pas compatible avec ce système "
+"Attention : La notarisation n'est pas compatible avec ce système "
"d'exploitation. Le projet exporté sera bloqué par Gatekeeper si il est "
"téléchargé depuis une source inconnue."
@@ -19964,7 +19961,7 @@ msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
-"Confidentialité : L'accès au microphone est actif, mais son usage n'a pas "
+"Confidentialité : L'accès au microphone est activé, mais son usage n'a pas "
"été spécifié."
#: platform/osx/export/export.cpp
@@ -20371,11 +20368,11 @@ msgstr "Rcedit"
#: platform/windows/export/export.cpp
msgid "Osslsigncode"
-msgstr "Osslsigncode"
+msgstr "Code Signature OpenSSL"
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr "Wine"
+msgstr "Vin"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20454,13 +20451,12 @@ msgid "Gravity"
msgstr "Gravité"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Linear Damp"
-msgstr "Linéaire"
+msgstr "Amorti Linéaire"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Angular Damp"
-msgstr ""
+msgstr "Amorti Angulaire"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
msgid "Audio Bus"
@@ -20539,9 +20535,8 @@ msgstr "Vue personnalisée"
#: scene/2d/camera_2d.cpp scene/3d/camera.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Process Mode"
-msgstr "Mode déplacement"
+msgstr "Mode de traitement"
#: scene/2d/camera_2d.cpp
msgid "Limit"
@@ -20564,9 +20559,8 @@ msgid "Bottom"
msgstr "Bas"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Smoothed"
-msgstr "Progression douce"
+msgstr "Adouci"
#: scene/2d/camera_2d.cpp
msgid "Draw Margin"
@@ -20583,9 +20577,8 @@ msgid "Drag Margin V Enabled"
msgstr "Définir la marge"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Smoothing"
-msgstr "Progression douce"
+msgstr "Adoucissement"
#: scene/2d/camera_2d.cpp
msgid "H"
@@ -20648,9 +20641,8 @@ msgid "Visible"
msgstr "Visible"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Self Modulate"
-msgstr "Peupler"
+msgstr "Auto-modulation"
#: scene/2d/canvas_item.cpp
msgid "Show Behind Parent"
@@ -20822,12 +20814,12 @@ msgstr "FPS fixes"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Fract Delta"
-msgstr ""
+msgstr "Delta Fraction"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Drawing"
-msgstr ""
+msgstr "Dessin"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20850,9 +20842,8 @@ msgid "Sphere Radius"
msgstr "Rayon de la Sphère"
#: scene/2d/cpu_particles_2d.cpp
-#, fuzzy
msgid "Rect Extents"
-msgstr "Gadgets"
+msgstr "Étendue du rectangle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Normals"
@@ -20964,18 +20955,16 @@ msgid "Angle Curve"
msgstr "Courbe d'angle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Scale Amount"
msgstr "Valeur d'échelle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Random"
-msgstr ""
+msgstr "Valeur d'échelle aléatoire"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Scale Amount Curve"
-msgstr "Agrandir/Rétrécir à partir du curseur"
+msgstr "Courbe de valeur d'échelle"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21080,7 +21069,7 @@ msgstr "Décalage initial"
#: scene/2d/joints_2d.cpp scene/3d/vehicle_body.cpp
msgid "Rest Length"
-msgstr ""
+msgstr "Longueur au repos"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp scene/3d/vehicle_body.cpp
msgid "Stiffness"
@@ -21126,7 +21115,7 @@ msgstr "Calque max"
#: scene/2d/light_2d.cpp
msgid "Item Cull Mask"
-msgstr ""
+msgstr "Masque d'élagage d'élément"
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
msgid "Shadow"
@@ -21141,18 +21130,16 @@ msgid "Gradient Length"
msgstr "Longueur du dégradé"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Filter Smooth"
-msgstr "Filtrer les méthodes"
+msgstr "Filtre de lissage"
#: scene/2d/light_occluder_2d.cpp
msgid "Closed"
msgstr "Fermé"
#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Cull Mode"
-msgstr "Mode Règle"
+msgstr "Mode Élagage"
#: scene/2d/light_occluder_2d.cpp
msgid ""
@@ -21196,13 +21183,12 @@ msgid "Joint Mode"
msgstr "Mode de jointure"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Begin Cap Mode"
-msgstr "Mode Région"
+msgstr "Lancer le mode capuchon"
#: scene/2d/line_2d.cpp
msgid "End Cap Mode"
-msgstr "Mode du capuchon de fin"
+msgstr "Terminer le mode capuchon"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
msgid "Border"
@@ -21210,7 +21196,7 @@ msgstr "Bordure"
#: scene/2d/line_2d.cpp
msgid "Sharp Limit"
-msgstr ""
+msgstr "Limite Nette"
#: scene/2d/line_2d.cpp
msgid "Round Precision"
@@ -21222,9 +21208,8 @@ msgid "Antialiased"
msgstr "Anticrénelé"
#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-#, fuzzy
msgid "Multimesh"
-msgstr "Multiplier %s"
+msgstr "Multimaillage"
#: scene/2d/navigation_2d.cpp scene/3d/baked_lightmap.cpp
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
@@ -21247,9 +21232,8 @@ msgstr ""
"Navigation2DServer.map_get_path() » à la place."
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Pathfinding"
-msgstr "Pathfinding"
+msgstr "Recherche de chemin"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Path Desired Distance"
@@ -21280,9 +21264,8 @@ msgid "Max Neighbors"
msgstr "Maximum de voisins"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Time Horizon"
-msgstr "Retourner horizontalement"
+msgstr "Horizon temporel"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
msgid "Max Speed"
@@ -21587,7 +21570,7 @@ msgstr "Plateforme mobile"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Apply Velocity On Leave"
-msgstr ""
+msgstr "Appliquer la vélocité à la sortie"
#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
@@ -21726,9 +21709,8 @@ msgid "Frame Coords"
msgstr "Coordonnées de trame"
#: scene/2d/sprite.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Filter Clip"
-msgstr "Filtrer les scripts"
+msgstr "Filtrer les clips"
#: scene/2d/tile_map.cpp
msgid ""
@@ -21749,9 +21731,8 @@ msgid "Quadrant Size"
msgstr "Taille de quadrant"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Custom Transform"
-msgstr "Transformation"
+msgstr "Transformation Personalisée"
#: scene/2d/tile_map.cpp
msgid "Half Offset"
@@ -21779,7 +21760,7 @@ msgstr "Textures Centrées"
#: scene/2d/tile_map.cpp
msgid "Cell Clip UV"
-msgstr ""
+msgstr "Cellule Clip UV"
#: scene/2d/tile_map.cpp
msgid "Use Parent"
@@ -21799,7 +21780,7 @@ msgstr "Forme Visible"
#: scene/2d/touch_screen_button.cpp
msgid "Passby Press"
-msgstr ""
+msgstr "Activation en passant"
#: scene/2d/touch_screen_button.cpp
msgid "Visibility Mode"
@@ -21839,7 +21820,7 @@ msgstr "Parent du Processus Physique"
#: scene/3d/area.cpp
msgid "Reverb Bus"
-msgstr ""
+msgstr "Bus de Réverb"
#: scene/3d/area.cpp
msgid "Uniformity"
@@ -21870,9 +21851,8 @@ msgstr ""
"aucun contrôleur."
#: scene/3d/arvr_nodes.cpp
-#, fuzzy
msgid "Anchor ID"
-msgstr "Uniquement les ancres"
+msgstr "ID de l'ancre"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRAnchor must have an ARVROrigin node as its parent."
@@ -21912,7 +21892,7 @@ msgstr "Max (dB)"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
-msgstr ""
+msgstr "Mode Hors-de-plage"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Emission Angle"
@@ -21934,7 +21914,7 @@ msgstr "Filtre d’atténuation"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_filter.cpp
msgid "Cutoff Hz"
-msgstr ""
+msgstr "Hz de coupure"
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_filter.cpp
@@ -21946,9 +21926,8 @@ msgid "Doppler"
msgstr "Doppler"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Tracking"
-msgstr "Empaquetage"
+msgstr "Suivi"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
@@ -21982,9 +21961,8 @@ msgstr "Terminé"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp scene/resources/box_shape.cpp
#: scene/resources/rectangle_shape_2d.cpp
-#, fuzzy
msgid "Extents"
-msgstr "Gadgets"
+msgstr "Étendues"
#: scene/3d/baked_lightmap.cpp
msgid "Tweaks"
@@ -22043,9 +22021,8 @@ msgid "Custom Energy"
msgstr "Énergie personnalisée"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Min Light"
-msgstr "Indenter vers la droite"
+msgstr "Lumière Min"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Propagation"
@@ -22069,12 +22046,11 @@ msgstr "Garder l'aspect"
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
-msgstr ""
+msgstr "Masque d'élagage"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Doppler Tracking"
-msgstr "Piste de propriété"
+msgstr "Effet Doppler de Suivi"
#: scene/3d/camera.cpp
msgid "Projection"
@@ -22105,18 +22081,16 @@ msgid "Margin"
msgstr "Marge"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Clip To"
-msgstr "Agrafe ci-dessus"
+msgstr "Agrafer à"
#: scene/3d/collision_object.cpp scene/3d/soft_body.cpp
msgid "Ray Pickable"
-msgstr ""
+msgstr "Sélectionnable par rayon"
#: scene/3d/collision_object.cpp
-#, fuzzy
msgid "Capture On Drag"
-msgstr "Capturer"
+msgstr "Capturer lors du glissement"
#: scene/3d/collision_object.cpp
msgid ""
@@ -22187,9 +22161,8 @@ msgstr ""
"Particles » activé."
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Box Extents"
-msgstr "Gadgets"
+msgstr "Étendues de la boîte"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Ring Radius"
@@ -22229,10 +22202,9 @@ msgstr "Mode portail"
#: scene/3d/cull_instance.cpp
msgid "Include In Bound"
-msgstr ""
+msgstr "Inclure dans la frontière"
#: scene/3d/cull_instance.cpp
-#, fuzzy
msgid "Allow Merging"
msgstr "Autoriser la fusion"
@@ -22363,37 +22335,32 @@ msgid "Contact"
msgstr "Contact"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Reverse Cull Face"
-msgstr "Réinitialiser le volume de bus"
+msgstr "Élagage inversé de la face"
#: scene/3d/light.cpp servers/visual_server.cpp
msgid "Directional Shadow"
msgstr "Ombre directionnelle"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 1"
-msgstr "Divisé"
+msgstr "Séparation 1"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 2"
-msgstr "Divisé"
+msgstr "Séparation 2"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 3"
-msgstr "Divisé"
+msgstr "Séparation 3"
#: scene/3d/light.cpp
msgid "Blend Splits"
-msgstr "Mélanger les écarts"
+msgstr "Mélanger les séparations"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Bias Split Scale"
-msgstr "Utiliser le magnétisme d'échelle"
+msgstr "Échelle du biais de séparation"
#: scene/3d/light.cpp
msgid "Depth Range"
@@ -22427,7 +22394,7 @@ msgstr "Atténuation d'angle"
#: scene/3d/mesh_instance.cpp
msgid "Software Skinning"
-msgstr ""
+msgstr "Habillage Logiciel"
#: scene/3d/mesh_instance.cpp
msgid "Transform Normals"
@@ -22596,15 +22563,15 @@ msgstr "Z angulaire"
#: scene/3d/physics_body.cpp
msgid "Motion X"
-msgstr "X mouvement"
+msgstr "Mouvement X"
#: scene/3d/physics_body.cpp
msgid "Motion Y"
-msgstr "Y mouvement"
+msgstr "Mouvement Y"
#: scene/3d/physics_body.cpp
msgid "Motion Z"
-msgstr "Z mouvement"
+msgstr "Mouvement Z"
#: scene/3d/physics_body.cpp
msgid "Joint Constraints"
@@ -22729,7 +22696,7 @@ msgstr "Amortissement angulaire"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "ERP"
-msgstr ""
+msgstr "ERP"
#: scene/3d/physics_body.cpp
msgid "Angular Spring Enabled"
@@ -22961,7 +22928,7 @@ msgstr "Nom de groupe"
#: scene/3d/proximity_group.cpp
msgid "Dispatch Mode"
-msgstr ""
+msgstr "Mode Répartition"
#: scene/3d/proximity_group.cpp
msgid "Grid Radius"
@@ -23000,9 +22967,8 @@ msgid "Ambient Energy"
msgstr "Énergie ambiante"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Contrib"
-msgstr "Indenter vers la droite"
+msgstr "Contribution Ambiante"
#: scene/3d/remote_transform.cpp
msgid ""
@@ -23036,20 +23002,19 @@ msgstr ""
#: scene/3d/room.cpp
msgid "Use Default Simplify"
-msgstr ""
+msgstr "Utiliser la simplification par défaut"
#: scene/3d/room.cpp scene/3d/room_manager.cpp
msgid "Room Simplify"
-msgstr ""
+msgstr "Simplifier la pièce"
#: scene/3d/room.cpp
msgid "Bound"
-msgstr ""
+msgstr "Frontière"
#: scene/3d/room_group.cpp
-#, fuzzy
msgid "Roomgroup Priority"
-msgstr "Priorité"
+msgstr "Priorité du groupe de pièces"
#: scene/3d/room_group.cpp
msgid "The RoomManager should not be placed inside a RoomGroup."
@@ -23077,67 +23042,58 @@ msgstr "Il ne doit y avoir qu'un seul RoomManager dans le SceneTree."
#: scene/3d/room_manager.cpp
msgid "Main"
-msgstr ""
+msgstr "Principal"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp
#: servers/audio/effects/audio_effect_delay.cpp
-#, fuzzy
msgid "Active"
-msgstr "Action"
+msgstr "Actif"
#: scene/3d/room_manager.cpp
msgid "Roomlist"
-msgstr ""
+msgstr "Liste des pièces"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
-#, fuzzy
msgid "PVS"
-msgstr "IPS"
+msgstr "PVS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Mode"
-msgstr "Mode navigation"
+msgstr "Mode PVS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Filename"
-msgstr "Fichier ZIP"
+msgstr "Nom de ficher PVS"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
msgid "Gameplay"
-msgstr ""
+msgstr "Jouabilité"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Gameplay Monitor"
-msgstr "Moniteur"
+msgstr "Moniteur de jouabilité"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Use Secondary PVS"
-msgstr "Utiliser le magnétisme d'échelle"
+msgstr "Utiliser PVS secondaire"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Merge Meshes"
-msgstr "Maillages"
+msgstr "Unifier les maillages"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Show Margins"
-msgstr "Afficher l'origine"
+msgstr "Afficher les marges"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Debug Sprawl"
-msgstr "Débogage"
+msgstr "Déboger le sprawl"
#: scene/3d/room_manager.cpp
msgid "Overlap Warning Threshold"
-msgstr ""
+msgstr "Seuil d'avertissement de superposition"
#: scene/3d/room_manager.cpp
msgid "Preview Camera"
@@ -23145,17 +23101,15 @@ msgstr "Aperçu de caméra"
#: scene/3d/room_manager.cpp
msgid "Portal Depth Limit"
-msgstr ""
+msgstr "Limite de profondeur du portail"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Default Portal Margin"
-msgstr "Définir la marge"
+msgstr "Marge de portail par défaut"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Roaming Expansion Margin"
-msgstr "Développer tout"
+msgstr "Marge d'expansion roaming"
#: scene/3d/room_manager.cpp
msgid ""
@@ -23210,43 +23164,36 @@ msgstr ""
"manuelles."
#: scene/3d/skeleton.cpp scene/resources/skin.cpp
-#, fuzzy
msgid "Pose"
-msgstr "Copier la pose"
+msgstr "Pose"
#: scene/3d/skeleton.cpp
-#, fuzzy
msgid "Bound Children"
-msgstr "Enfants modifiables"
+msgstr "Enfants liés"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Pinned Points"
-msgstr "Épinglé %s"
+msgstr "Points épinglés"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Attachments"
-msgstr "Gadgets"
+msgstr "Attachements"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Point Index"
-msgstr "Récupérer la position"
+msgstr "Index de point"
#: scene/3d/soft_body.cpp
msgid "Spatial Attachment Path"
-msgstr ""
+msgstr "Chemin de la pièce jointe spatiale"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Physics Enabled"
-msgstr "Image physique %"
+msgstr "Physique active"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Parent Collision Ignore"
-msgstr "Créer le polygone de collision"
+msgstr "Ignorer les collisions avec le parent"
#: scene/3d/soft_body.cpp
msgid "Simulation Precision"
@@ -23258,32 +23205,31 @@ msgstr "Masse totale"
#: scene/3d/soft_body.cpp
msgid "Linear Stiffness"
-msgstr ""
+msgstr "Rigidité Linéaire"
#: scene/3d/soft_body.cpp
msgid "Areaangular Stiffness"
-msgstr ""
+msgstr "Rigidité Aire Angulaire"
#: scene/3d/soft_body.cpp
msgid "Volume Stiffness"
-msgstr ""
+msgstr "Rigidité de volume"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Pressure Coefficient"
msgstr "Coefficient de pression"
#: scene/3d/soft_body.cpp
msgid "Damping Coefficient"
-msgstr ""
+msgstr "Coefficient d'amortissement"
#: scene/3d/soft_body.cpp
msgid "Drag Coefficient"
-msgstr ""
+msgstr "Coefficient de traînée"
#: scene/3d/soft_body.cpp
msgid "Pose Matching Coefficient"
-msgstr ""
+msgstr "Coefficient d'alignement de pose"
#: scene/3d/soft_body.cpp
msgid "This body will be ignored until you set a mesh."
@@ -23300,9 +23246,8 @@ msgstr ""
"Modifiez les tailles dans les formes de collision enfants à la place."
#: scene/3d/spatial.cpp
-#, fuzzy
msgid "Global Translation"
-msgstr "Transformation Globale"
+msgstr "Position globale"
#: scene/3d/spatial.cpp
msgid "Matrix"
@@ -23397,6 +23342,14 @@ msgstr "Force max"
msgid "AABB"
msgstr "AABB"
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr "Arrangement"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr "Utiliser le centre de l'AABB"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "Géométrie"
@@ -23528,9 +23481,8 @@ msgid "Xfade Time"
msgstr "Durée du fondu croisé"
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Switch Mode"
-msgstr "Mode de Switch"
+msgstr "Changer de mode"
#: scene/animation/animation_node_state_machine.cpp
msgid "Auto Advance"
@@ -23628,14 +23580,12 @@ msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "Ce nœud est désormais déprécié. Utilisez AnimationTree à la place."
#: scene/animation/animation_tree_player.cpp
-#, fuzzy
msgid "Playback"
-msgstr "Jouer"
+msgstr "Lecture"
#: scene/animation/animation_tree_player.cpp
-#, fuzzy
msgid "Master Player"
-msgstr "Coller les paramètres"
+msgstr "Lecteur principal"
#: scene/animation/animation_tree_player.cpp
msgid "Base Path"
@@ -23690,9 +23640,8 @@ msgid "Playback Speed"
msgstr "Vitesse de lecture"
#: scene/audio/audio_stream_player.cpp
-#, fuzzy
msgid "Mix Target"
-msgstr "Cible"
+msgstr "Cible Mixte"
#: scene/gui/aspect_ratio_container.cpp scene/gui/range.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
@@ -23718,11 +23667,11 @@ msgstr "Mode d'action"
#: scene/gui/base_button.cpp
msgid "Enabled Focus Mode"
-msgstr ""
+msgstr "Mode Concentration activé"
#: scene/gui/base_button.cpp
msgid "Keep Pressed Outside"
-msgstr ""
+msgstr "Garder pressé à l'extérieur"
#: scene/gui/base_button.cpp scene/gui/shortcut.cpp
msgid "Shortcut"
@@ -23859,9 +23808,8 @@ msgid "Tooltip"
msgstr "Info-bulle"
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Focus"
-msgstr "Focaliser le chemin"
+msgstr "Focus"
#: scene/gui/control.cpp
msgid "Neighbour Left"
@@ -23922,7 +23870,7 @@ msgstr "Boîte de dialogue"
#: scene/gui/dialogs.cpp
msgid "Hide On OK"
-msgstr ""
+msgstr "Cacher quand OK"
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -23955,29 +23903,25 @@ msgid "Snap Distance"
msgstr "Distance d'arrondissage"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Min"
-msgstr "Zoomer"
+msgstr "Zoom Min"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Max"
-msgstr "Zoomer"
+msgstr "Zoom Max"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom Step"
-msgstr "Dézoomer"
+msgstr "Pas de Zoom"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Show Zoom Label"
-msgstr "Afficher les os"
+msgstr "Afficher le label de zoom"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Mini-carte"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
@@ -23990,33 +23934,29 @@ msgstr "Afficher les os"
#: scene/gui/graph_node.cpp scene/gui/option_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selected"
-msgstr "Sélectionner"
+msgstr "Sélectionné"
#: scene/gui/graph_node.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Comment"
-msgstr "Enregistrer"
+msgstr "Commentaire"
#: scene/gui/graph_node.cpp
msgid "Overlay"
-msgstr ""
+msgstr "Surcouche"
#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Columns"
-msgstr "Volume"
+msgstr "Colonnes"
#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/text_edit.cpp
#: scene/gui/tree.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Timers"
-msgstr "Temps"
+msgstr "Chronomètres"
#: scene/gui/item_list.cpp scene/gui/popup_menu.cpp scene/gui/tree.cpp
msgid "Incremental Search Max Interval Msec"
-msgstr ""
+msgstr "Intervalle max de recherche incrémentale (ms)"
#: scene/gui/item_list.cpp scene/gui/tree.cpp
#, fuzzy
@@ -24030,7 +23970,7 @@ msgstr "Remplir la sélection"
#: scene/gui/item_list.cpp
msgid "Max Text Lines"
-msgstr ""
+msgstr "Lignes de texte max"
#: scene/gui/item_list.cpp
#, fuzzy
@@ -24039,15 +23979,15 @@ msgstr "En période de test"
#: scene/gui/item_list.cpp
msgid "Max Columns"
-msgstr ""
+msgstr "Colonnes Max"
#: scene/gui/item_list.cpp
msgid "Same Column Width"
-msgstr ""
+msgstr "Même Largeur de Colonne"
#: scene/gui/item_list.cpp
msgid "Fixed Column Width"
-msgstr ""
+msgstr "Largeur de Colonne Fixe"
#: scene/gui/item_list.cpp
msgid "Icon Scale"
@@ -24074,19 +24014,19 @@ msgstr "Rendre visible"
#: scene/gui/label.cpp
msgid "Lines Skipped"
-msgstr ""
+msgstr "Lignes Ignorées"
#: scene/gui/label.cpp
msgid "Max Lines Visible"
-msgstr ""
+msgstr "Lignes Visibles Max"
#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
msgid "Max Length"
-msgstr ""
+msgstr "Longueur Max"
#: scene/gui/line_edit.cpp
msgid "Secret"
-msgstr ""
+msgstr "Secret"
#: scene/gui/line_edit.cpp
msgid "Secret Character"
@@ -24094,7 +24034,7 @@ msgstr "Caractère secret"
#: scene/gui/line_edit.cpp
msgid "Expand To Text Length"
-msgstr ""
+msgstr "Etendre à la longueur du texte"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#, fuzzy
@@ -24129,7 +24069,7 @@ msgstr "Sélection uniquement"
#: scene/gui/line_edit.cpp scene/gui/rich_text_label.cpp
#: scene/gui/text_edit.cpp
msgid "Deselect On Focus Loss Enabled"
-msgstr ""
+msgstr "Déselection à la perte de focus activée"
#: scene/gui/line_edit.cpp
#, fuzzy
@@ -24143,7 +24083,7 @@ msgstr "Charger en tant qu'instance temporaire"
#: scene/gui/line_edit.cpp
msgid "Alpha"
-msgstr ""
+msgstr "Alpha"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
@@ -24151,7 +24091,7 @@ msgstr "Caret"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
-msgstr ""
+msgstr "Clignoter"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink Speed"
@@ -24159,7 +24099,7 @@ msgstr "Vitesse de Clignotement"
#: scene/gui/link_button.cpp
msgid "Underline"
-msgstr ""
+msgstr "Souligner"
#: scene/gui/menu_button.cpp
#, fuzzy
@@ -24183,7 +24123,7 @@ msgstr "Définir la marge"
#: scene/gui/nine_patch_rect.cpp scene/resources/style_box.cpp
msgid "Axis Stretch"
-msgstr ""
+msgstr "Etirer les Axes"
#: scene/gui/nine_patch_rect.cpp
msgid ""
@@ -24373,11 +24313,11 @@ msgstr "Filtrer les signaux"
#: scene/gui/scroll_container.cpp
msgid "Default Scroll Deadzone"
-msgstr ""
+msgstr "Zone morte par défaut du défilement"
#: scene/gui/slider.cpp
msgid "Scrollable"
-msgstr ""
+msgstr "Défilant"
#: scene/gui/slider.cpp
#, fuzzy
@@ -24412,7 +24352,7 @@ msgstr "Basculer la visibilité"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Tab Align"
-msgstr ""
+msgstr "Alignement de l'onglet"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Current Tab"
@@ -24425,7 +24365,7 @@ msgstr "Rendre visible"
#: scene/gui/tab_container.cpp
msgid "All Tabs In Front"
-msgstr ""
+msgstr "Tous les Onglets au Premier Plan"
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
msgid "Drag To Rearrange Enabled"
@@ -24433,11 +24373,11 @@ msgstr "Glisser pour Réorganiser Activé"
#: scene/gui/tab_container.cpp
msgid "Use Hidden Tabs For Min Size"
-msgstr ""
+msgstr "Utiliser des onglets cachés pour la taille minimum"
#: scene/gui/tabs.cpp
msgid "Tab Close Display Policy"
-msgstr ""
+msgstr "Stratégie d'affichage pour la fermeture d'onglet"
#: scene/gui/tabs.cpp
msgid "Scrolling Enabled"
@@ -24445,7 +24385,7 @@ msgstr "Défilement activé"
#: scene/gui/text_edit.cpp
msgid "Readonly"
-msgstr ""
+msgstr "Lecture Seule"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -24495,19 +24435,20 @@ msgstr "Déverrouiller le nœud"
#: scene/gui/text_edit.cpp
msgid "Moving By Right Click"
-msgstr ""
+msgstr "Déplacer avec clic droit"
#: scene/gui/text_edit.cpp
msgid "Text Edit Idle Detect (sec)"
-msgstr ""
+msgstr "Détéction d'inactivité du champ de texte (s)"
#: scene/gui/text_edit.cpp
msgid "Text Edit Undo Stack Max Size"
msgstr ""
+"Nombre d'actions max dans le champ de texte à mémoriser pour l'annulation"
#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
msgid "Hover"
-msgstr ""
+msgstr "Survoler"
#: scene/gui/texture_button.cpp
#, fuzzy
@@ -24527,7 +24468,7 @@ msgstr "Développer tout"
#: scene/gui/texture_progress.cpp
msgid "Under"
-msgstr ""
+msgstr "Sous"
#: scene/gui/texture_progress.cpp
#, fuzzy
@@ -24541,7 +24482,7 @@ msgstr "Propriétés du thème"
#: scene/gui/texture_progress.cpp
msgid "Progress Offset"
-msgstr ""
+msgstr "Décalage de la Progression"
#: scene/gui/texture_progress.cpp
msgid "Fill Mode"
@@ -24549,11 +24490,11 @@ msgstr "Mode de Remplissage"
#: scene/gui/texture_progress.cpp scene/resources/material.cpp
msgid "Tint"
-msgstr ""
+msgstr "Teinte"
#: scene/gui/texture_progress.cpp
msgid "Radial Fill"
-msgstr ""
+msgstr "Remplissage Radial"
#: scene/gui/texture_progress.cpp
#, fuzzy
@@ -24596,7 +24537,7 @@ msgstr "Mode sélection"
#: scene/gui/tree.cpp
msgid "Custom Minimum Height"
-msgstr ""
+msgstr "Taille Minimum Personnalisée"
#: scene/gui/tree.cpp
msgid "(Other)"
@@ -24618,7 +24559,7 @@ msgstr "Masquer la Racine"
#: scene/gui/tree.cpp
msgid "Drop Mode Flags"
-msgstr ""
+msgstr "Options du Mode Abandon"
#: scene/gui/video_player.cpp
#, fuzzy
@@ -24627,7 +24568,7 @@ msgstr "Ajouter une piste"
#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Paused"
-msgstr ""
+msgstr "En Pause"
#: scene/gui/video_player.cpp
#, fuzzy
@@ -24661,11 +24602,11 @@ msgstr "Téléchargement en cours"
#: scene/main/http_request.cpp
msgid "Body Size Limit"
-msgstr ""
+msgstr "Taille Limite du Corps"
#: scene/main/http_request.cpp
msgid "Max Redirects"
-msgstr ""
+msgstr "Redirections Max"
#: scene/main/http_request.cpp
msgid "Timeout"
@@ -24676,6 +24617,8 @@ msgid ""
"Setting node name '%s' to be unique within scene for '%s', but it's already "
"claimed by '%s'. This node is no longer set unique."
msgstr ""
+"Impossible de déclarer le nom de nœud '%s' comme unique dans la scène pour "
+"'%s', car ce nom est déjà attribué à '%s'. Ce nœud n'est donc plus unique."
#: scene/main/node.cpp
#, fuzzy
@@ -24684,7 +24627,7 @@ msgstr "Séparateur nommé"
#: scene/main/node.cpp
msgid "Name Casing"
-msgstr ""
+msgstr "Convention de Nommage"
#: scene/main/node.cpp
#, fuzzy
@@ -24746,7 +24689,7 @@ msgstr "Mode Navigation"
#: scene/main/scene_tree.cpp
msgid "Use Font Oversampling"
-msgstr ""
+msgstr "Utiliser le Suréchantillonnage de Police"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -24812,7 +24755,7 @@ msgstr "Utiliser FXAA"
#: scene/main/scene_tree.cpp
msgid "Use Debanding"
-msgstr ""
+msgstr "Utiliser le Debanding"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "HDR"
@@ -25063,7 +25006,7 @@ msgstr "Demi résolution"
#: scene/resources/curve.cpp
msgid "Bake Interval"
-msgstr ""
+msgstr "Intervalle de Précalcul"
#: scene/resources/default_theme/default_theme.cpp
msgid "Panel"
@@ -25304,7 +25247,7 @@ msgstr "Poignée quand désactivée"
#: scene/resources/default_theme/default_theme.cpp
msgid "Tick"
-msgstr ""
+msgstr "Signet"
#: scene/resources/default_theme/default_theme.cpp
msgid "Updown"
@@ -25502,7 +25445,7 @@ msgstr "Couleur des lignes de relation"
#: scene/resources/default_theme/default_theme.cpp
msgid "Custom Button Font Highlight"
-msgstr ""
+msgstr "Surlignage Personnalisé de la Police du Bouton"
#: scene/resources/default_theme/default_theme.cpp
msgid "Item Margin"
@@ -25736,7 +25679,7 @@ msgstr "Déplacer des points de Bézier"
#: scene/resources/default_theme/default_theme.cpp
msgid "Bezier Len Neg"
-msgstr ""
+msgstr "Longueur Négative Courbe de Bézier"
#: scene/resources/default_theme/default_theme.cpp
msgid "Port Grab Distance Horizontal"
@@ -25808,7 +25751,7 @@ msgstr "Degrés de Rotation du Ciel"
#: scene/resources/environment.cpp
msgid "Canvas Max Layer"
-msgstr ""
+msgstr "Calque Max du Canvas"
#: scene/resources/environment.cpp scene/resources/texture.cpp
msgid "Camera Feed ID"
@@ -26083,7 +26026,7 @@ msgstr "Passe suivante"
#: scene/resources/material.cpp
msgid "Use Shadow To Opacity"
-msgstr ""
+msgstr "Utiliser l'ombre pour l'opacité"
#: scene/resources/material.cpp
msgid "Unshaded"
@@ -26240,7 +26183,7 @@ msgstr "Occlusion ambiante"
#: scene/resources/material.cpp
msgid "Deep Parallax"
-msgstr ""
+msgstr "Parallaxe Profonde"
#: scene/resources/material.cpp
#, fuzzy
@@ -26254,7 +26197,7 @@ msgstr "Calque"
#: scene/resources/material.cpp
msgid "Flip Tangent"
-msgstr ""
+msgstr "Inverser la Tangente"
#: scene/resources/material.cpp
#, fuzzy
@@ -26291,7 +26234,7 @@ msgstr "Triplanaire"
#: scene/resources/material.cpp
msgid "Triplanar Sharpness"
-msgstr ""
+msgstr "Netteté Triplanaire"
#: scene/resources/material.cpp
msgid "UV2"
@@ -26304,7 +26247,7 @@ msgstr "Mode prioritaire"
#: scene/resources/material.cpp
msgid "Distance Fade"
-msgstr ""
+msgstr "Fondu de Distance"
#: scene/resources/material.cpp
msgid "Async Mode"
@@ -26317,7 +26260,7 @@ msgstr "LightMap Bake"
#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
msgid "Custom AABB"
-msgstr ""
+msgstr "AABB Personnalisé"
#: scene/resources/mesh_library.cpp
msgid "Mesh Transform"
@@ -26337,7 +26280,7 @@ msgstr "Format de transformation"
#: scene/resources/multimesh.cpp
msgid "Custom Data Format"
-msgstr ""
+msgstr "Format de Données Personnalisé"
#: scene/resources/multimesh.cpp
msgid "Instance Count"
@@ -26361,7 +26304,7 @@ msgstr "Type de la géométrie analysée"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
-msgstr ""
+msgstr "Mode Géométrie Source"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26378,7 +26321,7 @@ msgstr "Agents"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
-msgstr ""
+msgstr "Escalade Max"
#: scene/resources/navigation_mesh.cpp
msgid "Max Slope"
@@ -26404,7 +26347,7 @@ msgstr "Erreur"
#: scene/resources/navigation_mesh.cpp
msgid "Verts Per Poly"
-msgstr ""
+msgstr "Sommets par Poly"
#: scene/resources/navigation_mesh.cpp
msgid "Details"
@@ -26421,15 +26364,15 @@ msgstr "Échantillonneur"
#: scene/resources/navigation_mesh.cpp
msgid "Low Hanging Obstacles"
-msgstr ""
+msgstr "Obstacles Suspendus Bas"
#: scene/resources/navigation_mesh.cpp
msgid "Ledge Spans"
-msgstr ""
+msgstr "Etendue de Rebord"
#: scene/resources/navigation_mesh.cpp
msgid "Walkable Low Height Spans"
-msgstr ""
+msgstr "Etendues de faible hauteur praticables"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -26507,7 +26450,7 @@ msgstr "Fermer la courbe"
#: scene/resources/physics_material.cpp
msgid "Rough"
-msgstr ""
+msgstr "Rugueux"
#: scene/resources/physics_material.cpp
msgid "Absorbent"
@@ -26523,7 +26466,7 @@ msgstr "Retourner les faces"
#: scene/resources/primitive_meshes.cpp
msgid "Mid Height"
-msgstr ""
+msgstr "Mi-hauteur"
#: scene/resources/primitive_meshes.cpp
msgid "Subdivide Width"
@@ -26568,7 +26511,7 @@ msgstr "A"
#: scene/resources/shape_2d.cpp
msgid "Custom Solver Bias"
-msgstr ""
+msgstr "Biais Personnalisé du Solveur"
#: scene/resources/skin.cpp
msgid "Bind Count"
@@ -26646,7 +26589,7 @@ msgstr "Changer le rayon intérieur de la tour"
#: scene/resources/style_box.cpp
msgid "Corner Detail"
-msgstr ""
+msgstr "Détail des Coins"
#: scene/resources/style_box.cpp
msgid "Anti Aliasing"
@@ -26654,11 +26597,11 @@ msgstr "Anticrénelage"
#: scene/resources/style_box.cpp
msgid "Grow Begin"
-msgstr ""
+msgstr "Début d'Expansion"
#: scene/resources/style_box.cpp
msgid "Grow End"
-msgstr ""
+msgstr "Fin d'Expansion"
#: scene/resources/texture.cpp
#, fuzzy
@@ -26715,7 +26658,7 @@ msgstr "Pause"
#: scene/resources/texture.cpp
msgid "Which Feed"
-msgstr ""
+msgstr "Quel Flux"
#: scene/resources/texture.cpp
msgid "Camera Is Active"
@@ -27523,7 +27466,7 @@ msgstr "Nombre de compilations simultanées"
#: servers/visual_server.cpp
msgid "Log Active Async Compiles Count"
-msgstr ""
+msgstr "Noter le nombre de compilations asynchrones actives"
#: servers/visual_server.cpp
msgid "Shader Cache Size (MB)"
diff --git a/editor/translations/ga.po b/editor/translations/ga.po
index 246c04dc63..01810bb059 100644
--- a/editor/translations/ga.po
+++ b/editor/translations/ga.po
@@ -12451,9 +12451,10 @@ msgstr "Cruthaigh"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13796,12 +13797,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22473,6 +22473,15 @@ msgstr ""
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Nód Beochana"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/gl.po b/editor/translations/gl.po
index 2445ec4783..1d2fbb333a 100644
--- a/editor/translations/gl.po
+++ b/editor/translations/gl.po
@@ -13135,9 +13135,10 @@ msgstr "Opcións de Axuste de Cuadrícula"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Offset:"
@@ -14561,17 +14562,18 @@ msgid "Invalid project path (changed anything?)."
msgstr "A ruta ao proxecto non é valida. Cambiaches algo?"
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Non se pudo cargar o arquivo de configuración 'project.godot' na ruta do "
"proxecto (erro %d). Pode ser que o arquivo non exista; ou que esté "
"corrompido."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Non se pudo editar o arquivo 'project.godot' na ruta do proxecto."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Non se pode abrir proxecto en '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23866,6 +23868,15 @@ msgstr "Erro"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordenar"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/he.po b/editor/translations/he.po
index e0a690c9b4..57b2386570 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -23,13 +23,16 @@
# Shailee Eliyahu <dev.sle.il@gmail.com>, 2021.
# Mati Borlak <matiborlak@gmail.com>, 2022.
# Tamir Livneh <fkeyzuwu@gmail.com>, 2022.
+# Tomer Ben Rachel <tomerpacific@gmail.com>, 2022.
+# moshe mil <milgmoshe@gmail.com>, 2022.
+# Blawnode <blawnode@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-05 11:17+0000\n"
-"Last-Translator: Tamir Livneh <fkeyzuwu@gmail.com>\n"
+"PO-Revision-Date: 2022-11-23 20:47+0000\n"
+"Last-Translator: Blawnode <blawnode@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/"
"godot/he/>\n"
"Language: he\n"
@@ -38,7 +41,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -57,26 +60,24 @@ msgid "Exit Code"
msgstr "קוד יצי××”"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "הפעלה"
+msgstr "V-Sync מופעל"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
-msgstr ""
+msgstr "V-Sync דרך Compositor"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Delta Smoothing"
-msgstr ""
+msgstr "החלקת דלט×"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Low Processor Usage Mode"
-msgstr "×™×™×¦×•× ×ž×™×–×"
+msgstr "מצב שימוש נמוך של מעבד"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr ""
+msgstr "מצב שינה שימוש נמוך במעבד (מיקרו שניות)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
@@ -105,7 +106,7 @@ msgstr "בלי קצה"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
-msgstr ""
+msgstr "שקיפות-פר-פיקסל מופעלת"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Fullscreen"
@@ -146,7 +147,7 @@ msgstr "גודל"
#: core/bind/core_bind.cpp
msgid "Endian Swap"
-msgstr ""
+msgstr "החלפת סדר ×‘×ª×™× (Byte Order)"
#: core/bind/core_bind.cpp
msgid "Editor Hint"
@@ -161,28 +162,24 @@ msgid "Iterations Per Second"
msgstr "×יטרציות לשניה"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Target FPS"
-msgstr "נתיב המש×ב"
+msgstr "יעד קצב פריימי×"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "מפרק TimeScale"
+msgstr "ציר זמן"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Physics Jitter Fix"
-msgstr "שקופית פיזיקלית %"
+msgstr "תיקון רטט בפיזיקה"
#: core/bind/core_bind.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
msgstr "שגי××”"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error String"
-msgstr "שגי××” בשמירה"
+msgstr "מחרוזת שגויה"
#: core/bind/core_bind.cpp
msgid "Error Line"
@@ -213,7 +210,7 @@ msgstr "תור פיקוד"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "גודל תור תהליכי משנה (KB)"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -236,9 +233,8 @@ msgid "Network"
msgstr "רשת"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "מרוחק "
+msgstr "שרת ×§×‘×¦×™× ×ž×¨×•×—×§"
#: core/io/file_access_network.cpp
msgid "Page Size"
@@ -246,11 +242,11 @@ msgstr "גודל דף"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
-msgstr ""
+msgstr "קרי××” מר×ש של דף"
#: core/io/http_client.cpp
msgid "Blocking Mode Enabled"
-msgstr ""
+msgstr "מצב חסימה מ×ופשר"
#: core/io/http_client.cpp
msgid "Connection"
@@ -258,25 +254,24 @@ msgstr "חיבור"
#: core/io/http_client.cpp
msgid "Read Chunk Size"
-msgstr ""
+msgstr "גודל קרי×ת נתח"
#: core/io/marshalls.cpp
msgid "Object ID"
msgstr "זהות ×וביקט"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
-#, fuzzy
msgid "Allow Object Decoding"
-msgstr "הפעלת שכבות בצל"
+msgstr "×פשר פענוח ×ובייקט"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "סירוב ×—×™×‘×•×¨×™× ×—×“×©×™× ×œ×¨×©×ª"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
#, fuzzy
msgid "Network Peer"
-msgstr "מ×פיין רשת"
+msgstr "מ×פיין\\עמית רשת"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
#, fuzzy
@@ -284,26 +279,24 @@ msgid "Root Node"
msgstr "שינוי ×©× ×ž×¤×¨×§ השורש"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "התחברות"
+msgstr "דחה ×—×™×‘×•×¨×™× ×—×“×©×™×"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Transfer Mode"
-msgstr "מפרק מעברון"
+msgstr "מצב מעבר"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "קודד גודל מקסימלי של החוצץ"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "הכנס גודל מירבי של החוצץ"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "פלוט גודל מירבי של החוצץ"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
@@ -314,17 +307,17 @@ msgid "Big Endian"
msgstr ""
#: core/io/stream_peer.cpp
+#, fuzzy
msgid "Data Array"
-msgstr ""
+msgstr "מערך מידע"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "לחיצת ×™×“×™×™× ×—×•×¡×ž×ª"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "עריכת חיבור:"
+msgstr "×ž×§×¡×™×ž×•× ×—×™×‘×•×¨×™× ×ž×ž×ª×™× ×™×"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -342,9 +335,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "×ין מספיק ×‘×ª×™× ×œ×¤×¢× ×•×— בתי×, ×ו פורמט ×œ× ×ª×§×™×Ÿâ€­â€­."
#: core/math/expression.cpp
-#, fuzzy
msgid "Invalid input %d (not passed) in expression"
-msgstr "קלט שגוי %i (×œ× ×”×•×¢×‘×¨) בתוך הביטוי"
+msgstr "קלט שגוי %d (×œ× ×”×•×¢×‘×¨) בתוך הביטוי"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -373,7 +365,7 @@ msgstr "בקרי××” ל־‚%s’:"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Seed"
-msgstr ""
+msgstr "גרעין"
#: core/math/random_number_generator.cpp
msgid "State"
@@ -381,7 +373,7 @@ msgstr "מצב"
#: core/message_queue.cpp
msgid "Message Queue"
-msgstr "תור הור×ות"
+msgstr "תור הודעות"
#: core/message_queue.cpp
msgid "Max Size (KB)"
@@ -409,7 +401,7 @@ msgstr "הכל"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "הסט"
#: core/os/input_event.cpp
#, fuzzy
@@ -418,11 +410,11 @@ msgstr "בקרת גירס×ות"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "מט×"
#: core/os/input_event.cpp
msgid "Command"
-msgstr "פיקוד"
+msgstr "פקודה"
#: core/os/input_event.cpp
#, fuzzy
@@ -442,11 +434,11 @@ msgstr "סריקת מקורות"
#: core/os/input_event.cpp
msgid "Physical Scancode"
-msgstr ""
+msgstr "קוד סריקה פיזי"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "יוניקוד"
#: core/os/input_event.cpp
msgid "Echo"
@@ -473,11 +465,11 @@ msgstr "מפתח כפתורי עכבר:"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "לחיצת עכבר כפולה"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "הטייה"
#: core/os/input_event.cpp
msgid "Pressure"
@@ -539,7 +531,7 @@ msgstr "מסר"
#: core/os/input_event.cpp
#, fuzzy
msgid "Pitch"
-msgstr "קנה מידה:"
+msgstr "גובה צליל"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
@@ -608,14 +600,12 @@ msgid "Main Scene"
msgstr ""
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
-msgstr "כפתור ×מצעי"
+msgstr "בטל stdout"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
-msgstr "מושבת"
+msgstr "השבת stderr"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
@@ -857,9 +847,8 @@ msgid "Max Functions"
msgstr "יצירת פונקציה"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "גרסה נוכחית:"
+msgstr "כיווץ"
#: core/project_settings.cpp
#, fuzzy
@@ -900,12 +889,12 @@ msgstr ""
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "TCP"
#: core/register_core_types.cpp
#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "התחברות למפרק:"
+msgstr "שניות קצובות להתחברות"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
@@ -917,12 +906,11 @@ msgstr ""
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "קודקודי×"
+msgstr "תעודות"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -931,9 +919,8 @@ msgid "Resource"
msgstr "מש×ב"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "סגירת סצנה"
+msgstr "ייחודי לסצנה"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -943,13 +930,12 @@ msgid "Path"
msgstr "נתיב"
#: core/script_language.cpp
-#, fuzzy
msgid "Source Code"
-msgstr "מש×ב"
+msgstr "קוד מקור"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
-msgstr ""
+msgstr "מקומי"
#: core/translation.cpp
msgid "Test"
@@ -3430,7 +3416,7 @@ msgstr "×™×™×‘×•× ×ž×©××‘×™× (מחדש)"
#: editor/editor_file_system.cpp
msgid "Reimport Missing Imported Files"
-msgstr ""
+msgstr "×™×™×‘×•× ×§×‘×¦×™× ×—×¡×¨×™× ×ž×—×“×©"
#: editor/editor_help.cpp scene/2d/camera_2d.cpp scene/gui/control.cpp
#: scene/gui/nine_patch_rect.cpp scene/resources/dynamic_font.cpp
@@ -4324,11 +4310,11 @@ msgstr "החלפת לשונית סצנה"
#: editor/editor_node.cpp
msgid "Always Show Close Button"
-msgstr ""
+msgstr "תמיד הר××” כפתור סגירה"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Resize If Many Tabs"
-msgstr ""
+msgstr "שינוי גודל כשט××‘×™× ×ž×¨×•×‘×™×"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
@@ -4353,7 +4339,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr ""
+msgstr "שמור ב×יבוד פוקוס"
#: editor/editor_node.cpp editor/editor_settings.cpp
#, fuzzy
@@ -4385,13 +4371,12 @@ msgid "Localize Settings"
msgstr "הגדרות"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Restore Scenes On Load"
-msgstr "מפרק TimeSeek"
+msgstr "שיחזור סצנה כשמבוצע טעינה"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr ""
+msgstr "הר××” דוגמית בריחוף מעל"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
@@ -4435,7 +4420,7 @@ msgstr "פתיחה במפקח"
#: editor/editor_node.cpp
msgid "Default Color Picker Mode"
-msgstr ""
+msgstr "מצב ברירת מחדל לבחירת צבעי×"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control"
@@ -5364,7 +5349,7 @@ msgstr "ערכה מוגדרת…"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr ""
+msgstr "צבע ×יקון ופונט"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5524,9 +5509,8 @@ msgid "Auto Indent"
msgstr "×”×–×—×” ×וטומטית"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "המרת הזחות לרווחי×"
+msgstr "המרת הזחות בשמירה"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
#, fuzzy
@@ -5586,7 +5570,6 @@ msgid "Show Line Numbers"
msgstr "שורה מספר:"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Numbers Zero Padded"
msgstr "שורה מספר:"
@@ -5613,7 +5596,7 @@ msgstr ""
#: editor/editor_settings.cpp
msgid "Show Line Length Guidelines"
-msgstr ""
+msgstr "הר××” מדריך ×ורך קו"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
@@ -5647,7 +5630,7 @@ msgstr ""
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "שיחזור ×¡×§×¨×™×¤×˜×™× ×‘×¢×ª טעינה"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
@@ -5887,7 +5870,7 @@ msgstr ""
#: editor/editor_settings.cpp
msgid "Emulate 3 Button Mouse"
-msgstr ""
+msgstr "דמה עכבר בעל 3 כפתורי×"
#: editor/editor_settings.cpp
msgid "Orbit Modifier"
@@ -12414,23 +12397,20 @@ msgid "Edit Items"
msgstr "עריכת מסנני×"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Types:"
-msgstr "סוג"
+msgstr "סוגי×:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Type:"
-msgstr "סוג"
+msgstr "הוסף סוג:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Item:"
-msgstr "הוספת קלט"
+msgstr "הוסף פריט:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add StyleBox Item"
-msgstr ""
+msgstr "הוסף פריט StyleBox"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -13243,9 +13223,10 @@ msgstr "הגדרות הצמדה"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "היסט רשת:"
@@ -13451,7 +13432,7 @@ msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "סיסמת SSH"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -14667,13 +14648,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "×œ× × ×™×ª×Ÿ לפתוח ×ת ‚%s’."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -18440,7 +18421,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "כל עוד"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -20462,16 +20443,15 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "macOS"
-msgstr ""
+msgstr "macOS"
#: platform/osx/export/export.cpp
msgid "Force Builtin Codesign"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Architecture"
-msgstr "הוספת ערך ×רכיטקטורה"
+msgstr "×רכיטקטורה"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20508,14 +20488,12 @@ msgid "Signing"
msgstr "×ות"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Certificate"
-msgstr "קודקודי×"
+msgstr "תעודה"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Algorithm"
-msgstr "ניפוי שגי×ות"
+msgstr "×לגורית×"
#: platform/uwp/export/export.cpp
msgid "Major"
@@ -20845,7 +20823,7 @@ msgstr ""
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr ""
+msgstr "Wine"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20886,12 +20864,12 @@ msgstr "×”×–×—×” משמ×ל"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
msgid "Flip H"
-msgstr ""
+msgstr "הפוך ×ופקית"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
msgid "Flip V"
-msgstr ""
+msgstr "הפוך ×נכית"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20931,7 +20909,7 @@ msgstr "תצוגה מקדימה:"
#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Gravity"
-msgstr ""
+msgstr "כוח כבידה"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20955,20 +20933,18 @@ msgstr "דריסה"
#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
msgid "Volume dB"
-msgstr ""
+msgstr "×•×•×œ×™×•× ×‘×“×¦×™×‘×œ×™×"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#, fuzzy
msgid "Pitch Scale"
-msgstr "קנה מידה:"
+msgstr "גובל צליל"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Autoplay"
-msgstr "הפעלת/ביטול הפעלה ×וטומטית"
+msgstr "הפעלה ×וטומטית"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
@@ -21861,9 +21837,8 @@ msgid "Rotation Degrees"
msgstr "הטיה של %s מעלות."
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Global Rotation"
-msgstr "קבוע"
+msgstr "רוטציה גלובלית"
#: scene/2d/node_2d.cpp
#, fuzzy
@@ -21887,12 +21862,11 @@ msgstr ""
#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Scroll"
-msgstr ""
+msgstr "גלול"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Base Offset"
-msgstr "היסט רשת:"
+msgstr "סטייה מהבסיס"
#: scene/2d/parallax_background.cpp
#, fuzzy
@@ -21910,7 +21884,7 @@ msgstr "בסוף"
#: scene/2d/parallax_background.cpp
msgid "Ignore Camera Zoom"
-msgstr ""
+msgstr "×”×ª×¢×œ× ×ž×–×•× ×”×ž×¦×œ×ž×”"
#: scene/2d/parallax_layer.cpp
msgid ""
@@ -22215,15 +22189,15 @@ msgstr "יצירת תיקייה"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
-msgstr ""
+msgstr "מתנגש ×¢×"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Areas"
-msgstr ""
+msgstr "×זורי×"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Bodies"
-msgstr ""
+msgstr "גופי×"
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -22264,11 +22238,11 @@ msgstr "×œ×¢×¦× ×–×• ×ין תנוחת REST ר×ויה. עבור למפרק ×”-
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Hframes"
-msgstr ""
+msgstr "שקופיות ×ופקיות"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
msgid "Vframes"
-msgstr ""
+msgstr "שקופיות ×נכיות"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#, fuzzy
@@ -22315,9 +22289,8 @@ msgid "Tile Origin"
msgstr ""
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Y Sort"
-msgstr "מיון"
+msgstr "מיון ×× ×›×™"
#: scene/2d/tile_map.cpp
#, fuzzy
@@ -22339,13 +22312,12 @@ msgid "Cell Clip UV"
msgstr ""
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Use Parent"
-msgstr "עריכת מצולע"
+msgstr "השתמש בהורה"
#: scene/2d/tile_map.cpp
msgid "Use Kinematic"
-msgstr ""
+msgstr "השתמש בפיזיקה קינמטית"
#: scene/2d/touch_screen_button.cpp
msgid "Shape Centered"
@@ -22380,7 +22352,7 @@ msgstr "הדבקת הנפשה"
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
msgid "Freeze Bodies"
-msgstr ""
+msgstr "×”×§×¤× ×’×•×¤×™×"
#: scene/2d/visibility_notifier_2d.cpp
#, fuzzy
@@ -22576,7 +22548,7 @@ msgstr "מסנני×..."
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
-msgstr ""
+msgstr "השתמש בHDR"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22598,14 +22570,12 @@ msgid "Generate"
msgstr "כללי"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Max Size"
-msgstr "מבט קדמי"
+msgstr "גודל מקסימלי"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky"
-msgstr "גזירת מפרקי×"
+msgstr "×©×ž×™×™× ×ž×•×ª××ž×™× ×ישית"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22613,9 +22583,8 @@ msgid "Custom Sky Rotation Degrees"
msgstr "הטיה של %s מעלות."
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Custom Color"
-msgstr "גזירת מפרקי×"
+msgstr "צבע מות×× ×ישית"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22642,9 +22611,8 @@ msgid "Light Data"
msgstr "ימין"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Bone Name"
-msgstr "×©× ×”×ž×¤×¨×§:"
+msgstr "×©× ×ž×¤×¨×§"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
@@ -22666,12 +22634,11 @@ msgstr "מיז×"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr ""
+msgstr "קוטר ר××™×™×”"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Frustum Offset"
-msgstr "היסט רשת:"
+msgstr "היסט רשת"
#: scene/3d/camera.cpp
#, fuzzy
@@ -23427,7 +23394,7 @@ msgstr "×ותיות קטנות"
#: scene/3d/physics_joint.cpp
msgid "Motor"
-msgstr ""
+msgstr "מוטורי"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -24047,6 +24014,15 @@ msgstr "שגי××”!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "מיון"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -24350,7 +24326,7 @@ msgstr ""
#: scene/animation/skeleton_ik.cpp
msgid "Magnet"
-msgstr ""
+msgstr "מגנט"
#: scene/animation/skeleton_ik.cpp
#, fuzzy
@@ -25346,7 +25322,7 @@ msgstr "הוספת רצועה"
#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Paused"
-msgstr ""
+msgstr "עצור"
#: scene/gui/video_player.cpp
#, fuzzy
@@ -25368,9 +25344,8 @@ msgid "Follow Viewport"
msgstr ""
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Download File"
-msgstr "הורדה"
+msgstr "הורדת קובץ"
#: scene/main/http_request.cpp
#, fuzzy
@@ -25435,14 +25410,12 @@ msgid "Owner"
msgstr "×‘×¢×œ×™× ×©×œ:"
#: scene/main/node.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Multiplayer"
-msgstr "קביעה מרובה:"
+msgstr "רב-משתתפי×"
#: scene/main/node.cpp
-#, fuzzy
msgid "Custom Multiplayer"
-msgstr "קביעה מרובה:"
+msgstr "רב-×ž×©×ª×ª×¤×™× ×ž×•×ª×× ×ישית"
#: scene/main/node.cpp
#, fuzzy
@@ -25475,7 +25448,7 @@ msgstr "שורש סצינה חדש"
#: scene/main/scene_tree.cpp
msgid "Root"
-msgstr ""
+msgstr "שורש"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25540,7 +25513,7 @@ msgstr ""
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "HDR"
-msgstr ""
+msgstr "HDR"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "Use 32 BPC Depth"
@@ -25573,9 +25546,8 @@ msgid ""
msgstr ""
#: scene/main/timer.cpp
-#, fuzzy
msgid "Autostart"
-msgstr "התחלה מחדש ×וטומטית:"
+msgstr "התחלה ×וטומטית"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25638,14 +25610,12 @@ msgid "Debanding"
msgstr "קישור"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Disable 3D"
-msgstr "מושבת"
+msgstr "השבת תלת מימד"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Keep 3D Linear"
-msgstr "ליני×רי"
+msgstr "הש×ר תלת מימד לינ×רי"
#: scene/main/viewport.cpp
msgid "Render Direct To Screen"
@@ -25735,11 +25705,11 @@ msgstr "ש×"
#: scene/register_scene_types.cpp
msgid "2D Render"
-msgstr ""
+msgstr "רנדור בדו-מימד"
#: scene/register_scene_types.cpp
msgid "3D Render"
-msgstr ""
+msgstr "רנדור בתלת-מימד"
#: scene/register_scene_types.cpp
#, fuzzy
@@ -25783,11 +25753,11 @@ msgstr "מפרק ערבוב"
#: scene/resources/audio_stream_sample.cpp
msgid "Stereo"
-msgstr ""
+msgstr "סטרי×ו"
#: scene/resources/concave_polygon_shape_2d.cpp
msgid "Segments"
-msgstr ""
+msgstr "חלקי×"
#: scene/resources/curve.cpp
#, fuzzy
@@ -25796,11 +25766,11 @@ msgstr "חצי רזולוציה"
#: scene/resources/curve.cpp
msgid "Bake Interval"
-msgstr ""
+msgstr "זמן בין ×פייה"
#: scene/resources/default_theme/default_theme.cpp
msgid "Panel"
-msgstr ""
+msgstr "לוח"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25839,7 +25809,7 @@ msgstr "לול×ת הנפשה"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow"
-msgstr ""
+msgstr "×—×¥"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25958,7 +25928,7 @@ msgstr "סנן ×ותות"
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimum Spaces"
-msgstr ""
+msgstr "×ž×™× ×™×ž×•× ×¨×•×•×—×™×"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25967,11 +25937,11 @@ msgstr "B"
#: scene/resources/default_theme/default_theme.cpp
msgid "FG"
-msgstr ""
+msgstr "FG"
#: scene/resources/default_theme/default_theme.cpp
msgid "Tab"
-msgstr ""
+msgstr "לשונית"
#: scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/world.cpp
@@ -26044,7 +26014,7 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
msgid "Decrement"
-msgstr ""
+msgstr "הורדה ב1"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26355,7 +26325,7 @@ msgstr "מושבת"
#: scene/resources/default_theme/default_theme.cpp
msgid "Menu"
-msgstr ""
+msgstr "תפריט"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26392,7 +26362,7 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
msgid "Large"
-msgstr ""
+msgstr "גדול"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26436,7 +26406,7 @@ msgstr "מבט שמ×לי"
#: scene/resources/default_theme/default_theme.cpp
msgid "Screen Picker"
-msgstr ""
+msgstr "בוחר מהמסך"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26489,7 +26459,7 @@ msgstr "תכונות מרכזיות:"
#: scene/resources/default_theme/default_theme.cpp
msgid "Bold Italics Font"
-msgstr ""
+msgstr "גופן מודגש ומוטה"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26533,11 +26503,11 @@ msgstr "×”×–×—×” ×וטומטית"
#: scene/resources/default_theme/default_theme.cpp
msgid "Minus"
-msgstr ""
+msgstr "מינוס"
#: scene/resources/default_theme/default_theme.cpp
msgid "More"
-msgstr ""
+msgstr "עוד"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26584,7 +26554,7 @@ msgstr "עותק"
#: scene/resources/dynamic_font.cpp
msgid "Hinting"
-msgstr ""
+msgstr "רמיזה"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26598,7 +26568,7 @@ msgstr "מיקוד נתיב"
#: scene/resources/dynamic_font.cpp
msgid "Outline Size"
-msgstr ""
+msgstr "גודל קו מת×ר"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26627,11 +26597,11 @@ msgstr "קישור נתוני ‫מפרק"
#: scene/resources/environment.cpp
msgid "Background"
-msgstr ""
+msgstr "רקע"
#: scene/resources/environment.cpp scene/resources/sky.cpp
msgid "Sky"
-msgstr ""
+msgstr "שמיי×"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26673,7 +26643,7 @@ msgstr "הנפשה"
#: scene/resources/environment.cpp
msgid "Fog"
-msgstr ""
+msgstr "×ובך"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26746,7 +26716,7 @@ msgstr "ייצו×"
#: scene/resources/environment.cpp
msgid "White"
-msgstr ""
+msgstr "לבן"
#: scene/resources/environment.cpp
msgid "Auto Exposure"
@@ -26787,11 +26757,11 @@ msgstr "עומק"
#: scene/resources/environment.cpp scene/resources/material.cpp
msgid "Roughness"
-msgstr ""
+msgstr "חספוס"
#: scene/resources/environment.cpp
msgid "SSAO"
-msgstr ""
+msgstr "SSAO"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26813,7 +26783,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr ""
+msgstr "טשטוש"
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
@@ -26849,7 +26819,7 @@ msgstr "מפתחי×"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "1"
-msgstr ""
+msgstr "1"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -28502,7 +28472,7 @@ msgstr "עריכת מצולע"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "×ž×§×¡×™×ž×•× ×›×“×•×¨×™× ×קטיביי×"
#: servers/visual_server.cpp
#, fuzzy
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index 5e3b28ff79..657ee0ff41 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -16,13 +16,14 @@
# harvinder rathor <harvinderr09@gmail.com>, 2021.
# Sumanyu Aggarwal <sumanyu.code@gmail.com>, 2021.
# Arin <upadhyay.arin@gmail.com>, 2022.
+# Anime Fanz <accc1431@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-06-08 06:48+0000\n"
-"Last-Translator: Arin <upadhyay.arin@gmail.com>\n"
+"PO-Revision-Date: 2022-12-05 04:25+0000\n"
+"Last-Translator: Anime Fanz <accc1431@gmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/godot-engine/godot/"
"hi/>\n"
"Language: hi\n"
@@ -30,7 +31,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -242,72 +243,71 @@ msgid "Connection"
msgstr "संबंध"
#: core/io/http_client.cpp
+#, fuzzy
msgid "Read Chunk Size"
-msgstr ""
+msgstr "चंक आकार पढ़ें"
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr ""
+msgstr "वसà¥à¤¤à¥ आईडी"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
+#, fuzzy
msgid "Allow Object Decoding"
-msgstr ""
+msgstr "ऑबà¥à¤œà¥‡à¤•à¥à¤Ÿ डिकोडिंग की अनà¥à¤®à¤¤à¤¿ दें"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Refuse New Network Connections"
-msgstr ""
+msgstr "नठनेटवरà¥à¤• कनेकà¥à¤¶à¤¨ को मना करें"
#: core/io/multiplayer_api.cpp scene/main/scene_tree.cpp
msgid "Network Peer"
-msgstr ""
+msgstr "नेटवरà¥à¤• सहकरà¥à¤®à¥€"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
-#, fuzzy
msgid "Root Node"
-msgstr "à¤à¤• नया बनाà¤à¤‚"
+msgstr "रूट नोड"
#: core/io/networked_multiplayer_peer.cpp
-#, fuzzy
msgid "Refuse New Connections"
-msgstr "जोड़िये"
+msgstr "नठकनेकà¥à¤¶à¤¨à¥‹à¤‚ को मना करें"
#: core/io/networked_multiplayer_peer.cpp
#, fuzzy
msgid "Transfer Mode"
-msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚"
+msgstr "रीति का अंतरण करें"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "à¤à¤¨à¤•à¥‹à¤¡ बफर अधिकतम आकार"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
-msgstr ""
+msgstr "इनपà¥à¤Ÿ बफर अधिकतम आकार"
#: core/io/packet_peer.cpp
msgid "Output Buffer Max Size"
-msgstr ""
+msgstr "आउटपà¥à¤Ÿ बफर अधिकतम आकार"
#: core/io/packet_peer.cpp
msgid "Stream Peer"
-msgstr ""
+msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® पीयर"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr ""
+msgstr "बड़े à¤à¤‚डियन"
#: core/io/stream_peer.cpp
msgid "Data Array"
-msgstr ""
+msgstr "डेटा à¤à¤°à¥‡"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr ""
+msgstr "हैंडशेक बà¥à¤²à¥‰à¤• करना"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "कनेकà¥à¤¶à¤¨ संपादित करें:"
+msgstr "अधिकतम लंबित कनेकà¥à¤¶à¤¨"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -325,9 +325,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "अमानà¥à¤¯ फ़ोरà¥à¤®à¥ˆà¤Ÿ, या बाइटà¥à¤¸ डिकोडिंग के लिठपरà¥à¤¯à¤¾à¤ªà¥à¤¤ बाइटà¥à¤¸ नहीं।"
#: core/math/expression.cpp
-#, fuzzy
msgid "Invalid input %d (not passed) in expression"
-msgstr "à¤à¤•à¥à¤¸à¤ªà¥à¤°à¥‡à¤¶à¤¨ मे अमानà¥à¤¯ इनपà¥à¤Ÿ %i (पास नहीं हो पाया)"
+msgstr "वà¥à¤¯à¤‚जक में अमानà¥à¤¯ इनपà¥à¤Ÿ %d (पास नहीं हà¥à¤†)"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
@@ -355,144 +354,141 @@ msgstr "'%s ' को कॉल करने पर:"
#: core/math/random_number_generator.cpp
#: modules/opensimplex/open_simplex_noise.cpp
+#, fuzzy
msgid "Seed"
-msgstr ""
+msgstr "बीज"
#: core/math/random_number_generator.cpp
+#, fuzzy
msgid "State"
-msgstr ""
+msgstr "राजà¥à¤¯"
#: core/message_queue.cpp
+#, fuzzy
msgid "Message Queue"
-msgstr ""
+msgstr "संदेश कतार"
#: core/message_queue.cpp
msgid "Max Size (KB)"
-msgstr ""
+msgstr "अधिकतम आकार (केबी)"
#: core/os/input.cpp
-#, fuzzy
msgid "Mouse Mode"
-msgstr "दृशà¥à¤¯ रोकें"
+msgstr "माउस मोड"
#: core/os/input.cpp
msgid "Use Accumulated Input"
-msgstr ""
+msgstr "संचित इनपà¥à¤Ÿ का पà¥à¤°à¤¯à¥‹à¤— करें"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
msgid "Device"
-msgstr ""
+msgstr "उपकरण"
#: core/os/input_event.cpp
+#, fuzzy
msgid "Alt"
-msgstr ""
+msgstr "ऑलà¥à¤Ÿ"
#: core/os/input_event.cpp
msgid "Shift"
-msgstr ""
+msgstr "शिफà¥à¤Ÿ"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Control"
-msgstr "वरà¥à¤œà¤¨ कंटà¥à¤°à¥‹à¤²"
+msgstr "कंटà¥à¤°à¥‹à¤²"
#: core/os/input_event.cpp
msgid "Meta"
-msgstr ""
+msgstr "मेटा"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Command"
-msgstr "समà¥à¤¦à¤¾à¤¯"
+msgstr "कमांड"
#: core/os/input_event.cpp
#, fuzzy
msgid "Physical"
-msgstr "फिजिकà¥à¤¸ फà¥à¤°à¥‡à¤® %"
+msgstr "शारीरिक"
#: core/os/input_event.cpp scene/2d/touch_screen_button.cpp
#: scene/gui/base_button.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Pressed"
msgstr "पà¥à¤°à¥€à¤¸à¥‡à¤Ÿ"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Scancode"
-msgstr "सà¥à¤°à¥‹à¤¤à¤¸à¥à¤•à¥ˆà¤¨ कीजिये"
+msgstr "सà¥à¤•à¥ˆà¤¨à¤•à¥‹à¤¡"
#: core/os/input_event.cpp
msgid "Physical Scancode"
-msgstr ""
+msgstr "भौतिक सà¥à¤•à¥ˆà¤¨à¤•à¥‹à¤¡"
#: core/os/input_event.cpp
msgid "Unicode"
-msgstr ""
+msgstr "यूनिकोड"
#: core/os/input_event.cpp
msgid "Echo"
-msgstr ""
+msgstr "इको"
#: core/os/input_event.cpp scene/gui/base_button.cpp
msgid "Button Mask"
-msgstr ""
+msgstr "बटन मासà¥à¤•"
#: core/os/input_event.cpp scene/2d/node_2d.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Global Position"
-msgstr "कोनà¥à¤¸à¥à¤Ÿà¤¨à¥à¤Ÿ"
+msgstr "वैशà¥à¤µà¤¿à¤• सà¥à¤¥à¤¿à¤¤à¤¿"
#: core/os/input_event.cpp
msgid "Factor"
-msgstr ""
+msgstr "फैकà¥à¤Ÿà¤°"
#: core/os/input_event.cpp
msgid "Button Index"
-msgstr ""
+msgstr "बटन अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•à¤¾"
#: core/os/input_event.cpp
msgid "Doubleclick"
-msgstr ""
+msgstr "डबलकà¥à¤²à¤¿à¤•"
#: core/os/input_event.cpp
msgid "Tilt"
-msgstr ""
+msgstr "टिलà¥à¤Ÿ"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pressure"
-msgstr "पà¥à¤°à¥€à¤¸à¥‡à¤Ÿ"
+msgstr "पà¥à¤°à¥‡à¤¶à¤°"
#: core/os/input_event.cpp
msgid "Pen Inverted"
-msgstr ""
+msgstr "पेन उलà¥à¤Ÿà¤¾"
#: core/os/input_event.cpp
+#, fuzzy
msgid "Relative"
-msgstr ""
+msgstr "रिशà¥à¤¤à¥‡à¤¦à¤¾à¤°"
#: core/os/input_event.cpp scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/interpolated_camera.cpp
#: scene/animation/animation_player.cpp scene/resources/environment.cpp
#: scene/resources/particles_material.cpp
msgid "Speed"
-msgstr ""
+msgstr "सà¥à¤ªà¥€à¤¡"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: scene/3d/sprite_3d.cpp
msgid "Axis"
-msgstr ""
+msgstr "अकà¥à¤·"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Axis Value"
-msgstr "(मूलà¥à¤¯)"
+msgstr "à¤à¤•à¥à¤¸à¤¿à¤¸ वैलà¥à¤¯à¥‚"
#: core/os/input_event.cpp modules/visual_script/visual_script_func_nodes.cpp
msgid "Index"
-msgstr ""
+msgstr "इंडेकà¥à¤¸"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -503,60 +499,55 @@ msgstr "कारà¥à¤¯"
#: core/os/input_event.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp
msgid "Strength"
-msgstr ""
+msgstr "शकà¥à¤¤à¤¿"
#: core/os/input_event.cpp
msgid "Delta"
-msgstr ""
+msgstr "डेलà¥à¤Ÿà¤¾"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Channel"
-msgstr "बदली"
+msgstr "चैनल"
#: core/os/input_event.cpp main/main.cpp
-#, fuzzy
msgid "Message"
-msgstr "समà¥à¤¦à¤¾à¤¯"
+msgstr "मैसेज"
#: core/os/input_event.cpp
msgid "Pitch"
-msgstr ""
+msgstr "पिच"
#: core/os/input_event.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/3d/cpu_particles.cpp
#: scene/3d/physics_body.cpp scene/resources/particles_material.cpp
msgid "Velocity"
-msgstr ""
+msgstr "वेग"
#: core/os/input_event.cpp
msgid "Instrument"
-msgstr ""
+msgstr "साधन"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "लाइन कà¥à¤°.:"
+msgstr "नियंतà¥à¤°à¤• संखà¥à¤¯à¤¾"
#: core/os/input_event.cpp
msgid "Controller Value"
-msgstr ""
+msgstr "नियंतà¥à¤°à¤• मान"
#: core/project_settings.cpp editor/editor_node.cpp main/main.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Application"
-msgstr "कारà¥à¤¯"
+msgstr "अनà¥à¤ªà¥à¤°à¤¯à¥‹à¤—"
#: core/project_settings.cpp main/main.cpp
msgid "Config"
-msgstr ""
+msgstr "कॉनà¥à¤«à¤¼à¤¿à¤—"
#: core/project_settings.cpp
-#, fuzzy
msgid "Project Settings Override"
-msgstr "पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ सेटिंग ..."
+msgstr "पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ सेटिंगà¥à¤¸ ओवरराइड"
#: core/project_settings.cpp core/resource.cpp
#: editor/animation_track_editor.cpp editor/editor_autoload_settings.cpp
@@ -582,47 +573,44 @@ msgstr "विवरण"
#: main/main.cpp platform/android/export/export_plugin.cpp
#: platform/javascript/export/export.cpp
msgid "Run"
-msgstr ""
+msgstr "रन"
#: core/project_settings.cpp editor/editor_node.cpp
#: editor/run_settings_dialog.cpp main/main.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "मà¥à¤–à¥à¤¯ दृशà¥à¤¯"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stdout"
msgstr "बंद कर दिया गया है"
#: core/project_settings.cpp
-#, fuzzy
msgid "Disable stderr"
msgstr "बंद कर दिया गया है"
#: core/project_settings.cpp
msgid "Use Hidden Project Data Directory"
-msgstr ""
+msgstr "छिपी हà¥à¤ˆ पà¥à¤°à¥‹à¤œà¥‡à¤•à¥à¤Ÿ डेटा निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ का उपयोग करें"
#: core/project_settings.cpp
msgid "Use Custom User Dir"
-msgstr ""
+msgstr "कसà¥à¤Ÿà¤® उपयोगकरà¥à¤¤à¤¾ डायरेकà¥à¤Ÿà¤°à¥€ का उपयोग करें"
#: core/project_settings.cpp
msgid "Custom User Dir Name"
-msgstr ""
+msgstr "कसà¥à¤Ÿà¤® उपयोगकरà¥à¤¤à¤¾ का नाम"
#: core/project_settings.cpp main/main.cpp
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Display"
-msgstr "सब दिखाइà¤"
+msgstr "डिसà¥à¤ªà¥à¤²à¥‡"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/opensimplex/noise_texture.cpp scene/2d/line_2d.cpp
#: scene/3d/label_3d.cpp scene/gui/text_edit.cpp scene/resources/texture.cpp
msgid "Width"
-msgstr ""
+msgstr "चौड़ाई"
#: core/project_settings.cpp main/main.cpp modules/csg/csg_shape.cpp
#: modules/gltf/gltf_node.cpp modules/opensimplex/noise_texture.cpp
@@ -631,19 +619,19 @@ msgstr ""
#: scene/resources/font.cpp scene/resources/navigation_mesh.cpp
#: scene/resources/primitive_meshes.cpp scene/resources/texture.cpp
msgid "Height"
-msgstr ""
+msgstr "ऊंचाई"
#: core/project_settings.cpp
msgid "Always On Top"
-msgstr ""
+msgstr "हमेशा शीरà¥à¤· पर"
#: core/project_settings.cpp
msgid "Test Width"
-msgstr ""
+msgstr "परीकà¥à¤·à¤£ चौड़ाई"
#: core/project_settings.cpp
msgid "Test Height"
-msgstr ""
+msgstr "परीकà¥à¤·à¤£ ऊंचाई"
#: core/project_settings.cpp editor/animation_track_editor.cpp
#: editor/editor_audio_buses.cpp main/main.cpp servers/audio_server.cpp
@@ -651,9 +639,8 @@ msgid "Audio"
msgstr "ऑडियो"
#: core/project_settings.cpp
-#, fuzzy
msgid "Default Bus Layout"
-msgstr "पà¥à¤°à¤¾à¤¯à¤¿à¤• बस लेआउट लोड कीजिये."
+msgstr "डिफ़ॉलà¥à¤Ÿ बस लेआउट"
#: core/project_settings.cpp editor/editor_export.cpp
#: editor/editor_file_system.cpp editor/editor_node.cpp
@@ -664,93 +651,84 @@ msgstr "संपादक"
#: core/project_settings.cpp
msgid "Main Run Args"
-msgstr ""
+msgstr "मà¥à¤–à¥à¤¯ रन तरà¥à¤•"
#: core/project_settings.cpp
-#, fuzzy
msgid "Scene Naming"
-msgstr "दृशà¥à¤¯ पथ:"
+msgstr "दृशà¥à¤¯ नामकरण"
#: core/project_settings.cpp
msgid "Search In File Extensions"
-msgstr ""
+msgstr "फ़ाइल à¤à¤•à¥à¤¸à¤Ÿà¥‡à¤‚शन में खोजें"
#: core/project_settings.cpp
msgid "Script Templates Search Path"
-msgstr ""
+msgstr "सà¥à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿ टेमà¥à¤ªà¤²à¥‡à¤Ÿ खोज पथ"
#: core/project_settings.cpp
-#, fuzzy
msgid "Version Control Autoload On Startup"
-msgstr "वरà¥à¤œà¤¨ कंटà¥à¤°à¥‹à¤²"
+msgstr "सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प पर संसà¥à¤•à¤°à¤£ नियंतà¥à¤°à¤£ ऑटोलोड"
#: core/project_settings.cpp
-#, fuzzy
msgid "Version Control Plugin Name"
-msgstr "वरà¥à¤œà¤¨ कंटà¥à¤°à¥‹à¤²"
+msgstr "संसà¥à¤•à¤°à¤£ नियंतà¥à¤°à¤£ पà¥à¤²à¤—इन का नाम"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
msgid "Input"
-msgstr ""
+msgstr "इनपà¥à¤Ÿ"
#: core/project_settings.cpp
msgid "UI Accept"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª सà¥à¤µà¥€à¤•à¤¾à¤° करें"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Select"
-msgstr "चà¥à¤¨à¥‡à¤‚"
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª का चयन करें"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Cancel"
-msgstr "रदà¥à¤¦ करें"
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª रदà¥à¤¦ करें"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Next"
-msgstr "फ़ोकस पाथ"
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª फोकस अगला"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Focus Prev"
-msgstr "फ़ोकस पाथ"
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª फ़ोकस पिछला"
#: core/project_settings.cpp
msgid "UI Left"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª छोड़ दिया गया"
#: core/project_settings.cpp
msgid "UI Right"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª अधिकार"
#: core/project_settings.cpp
msgid "UI Up"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª बढ़ा"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Down"
-msgstr "नीचे"
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª कम"
#: core/project_settings.cpp
-#, fuzzy
msgid "UI Page Up"
-msgstr "पृषà¥à¤ : "
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª पृषà¥à¤  अप"
#: core/project_settings.cpp
msgid "UI Page Down"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª पृषà¥à¤  नीचे"
#: core/project_settings.cpp
msgid "UI Home"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª घर"
#: core/project_settings.cpp
msgid "UI End"
-msgstr ""
+msgstr "उपयोगकरà¥à¤¤à¤¾ हसà¥à¤¤à¤•à¥à¤·à¥‡à¤ª समापà¥à¤¤ होता है"
#: core/project_settings.cpp main/main.cpp modules/bullet/register_types.cpp
#: modules/bullet/space_bullet.cpp scene/2d/physics_body_2d.cpp
@@ -760,9 +738,8 @@ msgstr ""
#: servers/physics_2d/physics_2d_server_wrap_mt.h
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Physics"
-msgstr "फिजिकà¥à¤¸ फà¥à¤°à¥‡à¤® %"
+msgstr "फिजिकà¥à¤¸"
#: core/project_settings.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -772,11 +749,11 @@ msgstr "फिजिकà¥à¤¸ फà¥à¤°à¥‡à¤® %"
#: scene/3d/physics_body.cpp scene/resources/world.cpp
#: servers/physics/space_sw.cpp servers/physics_server.cpp
msgid "3D"
-msgstr ""
+msgstr "3 डी"
#: core/project_settings.cpp
msgid "Smooth Trimesh Collision"
-msgstr ""
+msgstr "तà¥à¤°à¤¿à¤®à¥‡à¤¶ की टकà¥à¤•à¤°"
#: core/project_settings.cpp drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles2/rasterizer_scene_gles2.cpp
@@ -788,7 +765,7 @@ msgstr ""
#: scene/main/viewport.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Rendering"
-msgstr ""
+msgstr "रेंडरिंग"
#: core/project_settings.cpp drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
@@ -798,18 +775,17 @@ msgstr ""
#: scene/resources/multimesh.cpp servers/visual/visual_server_scene.cpp
#: servers/visual_server.cpp
msgid "Quality"
-msgstr ""
+msgstr "कà¥à¤µà¤¾à¤²à¤¿à¤Ÿà¥€"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
#: servers/visual_server.cpp
-#, fuzzy
msgid "Filters"
-msgstr "फिलà¥à¤Ÿà¤°:"
+msgstr "फ़िलà¥à¤Ÿà¤°à¥à¤¸"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
-msgstr ""
+msgstr "शॉरà¥à¤ª गहनता"
#: core/project_settings.cpp editor/editor_export.cpp editor/editor_node.cpp
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
@@ -825,86 +801,81 @@ msgstr "डीबग करें"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "à¤à¤¡à¥€à¤Ÿà¤° सेटिनà¥à¤—स..."
+msgstr "सेटिंगà¥à¤¸"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Profiler"
-msgstr ""
+msgstr "पà¥à¤°à¥‹à¤«à¤¾à¤‡à¤²à¤°"
#: core/project_settings.cpp
-#, fuzzy
msgid "Max Functions"
-msgstr "कारà¥à¤¯à¥‹à¤‚:"
+msgstr "मैकà¥à¤¸ फ़ंकà¥à¤¶à¤¨"
#: core/project_settings.cpp scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Compression"
-msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚"
+msgstr "कंपà¥à¤°à¥‡à¤¶à¤¨"
#: core/project_settings.cpp
msgid "Formats"
-msgstr ""
+msgstr "फारà¥à¤®à¥‡à¤Ÿ"
#: core/project_settings.cpp
msgid "Zstd"
-msgstr ""
+msgstr "Zstd"
#: core/project_settings.cpp
msgid "Long Distance Matching"
-msgstr ""
+msgstr "लंबी दूरी का मिलान"
#: core/project_settings.cpp
msgid "Compression Level"
-msgstr ""
+msgstr "संपीड़न सà¥à¤¤à¤°"
#: core/project_settings.cpp
msgid "Window Log Size"
-msgstr ""
+msgstr "विंडो लॉग आकार"
#: core/project_settings.cpp
msgid "Zlib"
-msgstr ""
+msgstr "Zlib"
#: core/project_settings.cpp
msgid "Gzip"
-msgstr ""
+msgstr "Gzip"
#: core/project_settings.cpp platform/android/export/export.cpp
msgid "Android"
-msgstr ""
+msgstr "à¤à¤‚डà¥à¤°à¥‰à¤¯à¤¡"
#: core/project_settings.cpp
msgid "Modules"
-msgstr ""
+msgstr "मॉडà¥à¤¯à¥‚ल"
#: core/register_core_types.cpp
msgid "TCP"
-msgstr ""
+msgstr "टीसीपी"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Connect Timeout Seconds"
-msgstr "Node से कनेकà¥à¤Ÿ करें:"
+msgstr "कनेकà¥à¤Ÿ टाइमआउट सेकंड"
#: core/register_core_types.cpp
msgid "Packet Peer Stream"
-msgstr ""
+msgstr "पैकेट पीयर सà¥à¤Ÿà¥à¤°à¥€à¤®"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
-msgstr ""
+msgstr "मैकà¥à¤¸ बफर (2 की शकà¥à¤¤à¤¿)"
#: core/register_core_types.cpp editor/editor_settings.cpp main/main.cpp
msgid "SSL"
-msgstr ""
+msgstr "à¤à¤¸à¤à¤¸à¤à¤²"
#: core/register_core_types.cpp main/main.cpp
-#, fuzzy
msgid "Certificates"
-msgstr "विशेषता"
+msgstr "पà¥à¤°à¤®à¤¾à¤£à¤ªà¤¤à¥à¤°"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_resource_picker.cpp
@@ -913,9 +884,8 @@ msgid "Resource"
msgstr "संसाधन"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "कà¥à¤²à¥‹à¤œ सीन"
+msgstr "सà¥à¤¥à¤¾à¤¨à¥€à¤¯ से दृशà¥à¤¯"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -925,21 +895,20 @@ msgid "Path"
msgstr "पथ"
#: core/script_language.cpp
-#, fuzzy
msgid "Source Code"
-msgstr "संसाधन"
+msgstr "सà¥à¤°à¥‹à¤¤ कोड"
#: core/translation.cpp editor/project_settings_editor.cpp
msgid "Locale"
-msgstr ""
+msgstr "लोकेल"
#: core/translation.cpp
msgid "Test"
-msgstr ""
+msgstr "टेसà¥à¤Ÿ"
#: core/translation.cpp scene/resources/font.cpp
msgid "Fallback"
-msgstr ""
+msgstr "फ़ॉलबैक"
#: core/ustring.cpp scene/resources/segment_shape_2d.cpp
msgid "B"
@@ -975,17 +944,17 @@ msgstr "EiB"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp modules/gltf/gltf_state.cpp
msgid "Buffers"
-msgstr ""
+msgstr "बफ़रà¥à¤¸"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Buffer Size (KB)"
-msgstr ""
+msgstr "कैनवास बहà¥à¤­à¥à¤œ बफर आकार (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Canvas Polygon Index Buffer Size (KB)"
-msgstr ""
+msgstr "कैनवास बहà¥à¤­à¥à¤œ सूचकांक बफर आकार (KB)"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp editor/editor_settings.cpp
@@ -997,28 +966,27 @@ msgstr ""
#: servers/physics_2d/space_2d_sw.cpp servers/physics_2d_server.cpp
#: servers/visual_server.cpp
msgid "2D"
-msgstr ""
+msgstr "2डी"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
-#, fuzzy
msgid "Snapping"
-msgstr "आकसà¥à¤®à¤¿à¤•:"
+msgstr "सà¥à¤¨à¥ˆà¤ªà¤¿à¤‚ग"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Use GPU Pixel Snap"
-msgstr ""
+msgstr "GPU Pixel Snap का उपयोग करें"
#: drivers/gles2/rasterizer_scene_gles2.cpp
#: drivers/gles3/rasterizer_scene_gles3.cpp
msgid "Immediate Buffer Size (KB)"
-msgstr ""
+msgstr "ततà¥à¤•à¤¾à¤² बफर आकार (KB)"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
msgid "Lightmapping"
-msgstr ""
+msgstr "लाइटमैपिंग"
#: drivers/gles2/rasterizer_storage_gles2.cpp
#: drivers/gles3/rasterizer_storage_gles3.cpp
@@ -13001,9 +12969,10 @@ msgstr "आकसà¥à¤®à¤¿à¤•:"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14399,12 +14368,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23488,6 +23456,15 @@ msgstr "पà¥à¤°à¤¤à¤¿à¤®à¤¾"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "आयात:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index 21a20978a6..85fcb184f3 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -12654,9 +12654,10 @@ msgstr "Opcije Klase"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14032,12 +14033,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22925,6 +22925,15 @@ msgstr "Greška!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Zalijepi Animaciju"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 996249e619..b8bab10568 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -13160,9 +13160,10 @@ msgstr "Illesztési beállítások"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Rács Eltolás:"
@@ -14544,13 +14545,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "A projekt nem nyitható meg a(z) %s helyen."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23781,6 +23782,15 @@ msgstr "Hiba!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Rendezés"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/id.po b/editor/translations/id.po
index ee7e21c0c0..89153d88d3 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -13105,9 +13105,10 @@ msgstr "Opsi-opsi Snap"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Pengimbangan:"
@@ -14569,16 +14570,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Lokasi proyek tidak valid (mengubah sesuatu?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Tidak dapat memuat project.godot dalam lokasi proyek (galat %d). Mungkin "
"berkas itu tidak ada atau rusak."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Tidak dapat menyunting project.godot dalam lokasi proyek."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Tidak dapat membuka proyek di '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23964,6 +23966,16 @@ msgstr "Galat"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Urutkan"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "Gunakan Sebagai Kemudi"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/ig.po b/editor/translations/ig.po
index 8d96de35f3..e0c1a85c99 100644
--- a/editor/translations/ig.po
+++ b/editor/translations/ig.po
@@ -12357,9 +12357,10 @@ msgstr ""
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13688,12 +13689,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22185,6 +22185,14 @@ msgstr ""
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr ""
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 8514155c68..7551598f22 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -12635,9 +12635,10 @@ msgstr "Val á kvarða"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14004,12 +14005,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22783,6 +22783,15 @@ msgstr ""
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Stillið breyting á:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 027f4609f8..f1ff871a69 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -61,7 +61,7 @@
# Daniele Basso <tiziodcaio@gmail.com>, 2021.
# Riteo Siuga <riteo@posteo.net>, 2021, 2022.
# Luigi <luibass92@live.it>, 2021.
-# Micky <micheledevita2@gmail.com>, 2021.
+# Micky <micheledevita2@gmail.com>, 2021, 2022.
# Fabio Plos <altre0cose@gmail.com>, 2021.
# Theraloss <danilo.polani@gmail.com>, 2021.
# Pietro Grungo <pietro.grungo@libero.it>, 2021.
@@ -73,13 +73,17 @@
# ale piccia <picciatialessio2@gmail.com>, 2022.
# Simone Starace <simone.starace93@gmail.com>, 2022.
# Daniele Giunta <danielegiunta2007@gmail.com>, 2022.
+# Damiano Guida <damiano.guida22@gmail.com>, 2022.
+# Silvia Scaglione <sissisoad@gmail.com>, 2022.
+# Cosimo Davide Viggiano <cosimod089@gmail.com>, 2022.
+# Francesco Cammarata <francescocammarata.fr@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: Daniele Giunta <danielegiunta2007@gmail.com>\n"
+"PO-Revision-Date: 2022-11-22 20:37+0000\n"
+"Last-Translator: Francesco Cammarata <francescocammarata.fr@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -87,7 +91,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -213,7 +217,7 @@ msgstr "Target FPS"
#: core/bind/core_bind.cpp
msgid "Time Scale"
-msgstr "Scala Temporale"
+msgstr "Scala temporale"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Physics Jitter Fix"
@@ -456,7 +460,6 @@ msgid "Command"
msgstr "Comando"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Physical"
msgstr "Fisico"
@@ -468,14 +471,13 @@ msgstr "Premuto"
#: core/os/input_event.cpp
msgid "Scancode"
-msgstr "Codice di Scansione"
+msgstr "Codice di scansione"
#: core/os/input_event.cpp
msgid "Physical Scancode"
msgstr "Codice di Scansione Fisico"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Unicode"
msgstr "Unicode"
@@ -1020,7 +1022,7 @@ msgstr "2D"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
msgid "Snapping"
-msgstr "Ancoraggio"
+msgstr "Scatto"
#: drivers/gles2/rasterizer_canvas_base_gles2.cpp
#: drivers/gles3/rasterizer_canvas_base_gles3.cpp
@@ -2802,9 +2804,8 @@ msgid "Choose"
msgstr "Scegli"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Project export for platform:"
-msgstr "Esportazione del progetto per la piattaforma:"
+msgstr "Esportazione del progetto per piattaforma:"
#: editor/editor_export.cpp
msgid "Completed with warnings."
@@ -2953,7 +2954,6 @@ msgid "ETC2"
msgstr "ETC2"
#: editor/editor_export.cpp
-#, fuzzy
msgid "No BPTC Fallbacks"
msgstr "Nessun fallback per BPTC"
@@ -2970,7 +2970,6 @@ msgid "Custom release template not found."
msgstr "Modello di rilascio personalizzato non trovato."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Prepare Template"
msgstr "Prepara Modello"
@@ -2988,9 +2987,8 @@ msgstr "Copiatura del modello di esportazione fallita."
#: editor/editor_export.cpp platform/windows/export/export.cpp
#: platform/x11/export/export.cpp
-#, fuzzy
msgid "PCK Embedding"
-msgstr "PCK Incorporazione"
+msgstr "Incorporazione PCK"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3167,7 +3165,7 @@ msgstr "Rendi attuale"
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Import"
-msgstr "Importa"
+msgstr "Importare"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
#: platform/android/export/export.cpp platform/android/export/export_plugin.cpp
@@ -3289,7 +3287,7 @@ msgstr "Accedi"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
msgid "Display Mode"
-msgstr "Modalità Visualizzazione"
+msgstr "Modalità di visualizzazione"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -5304,11 +5302,11 @@ msgstr "Lingua dell'Editor"
#: editor/editor_settings.cpp
msgid "Display Scale"
-msgstr "Dimensione Display"
+msgstr "Scala di visualizzazione"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
-msgstr "Dimensione Display Personalizzata"
+msgstr "Scala di visualizzazione personalizzata"
#: editor/editor_settings.cpp
msgid "Main Font Size"
@@ -5554,14 +5552,12 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Uso dei tasti aggiuntivi del mouse per navigare la cronologia"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Drag And Drop Selection"
msgstr "Selezione Drag And Drop"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Stay In Script Editor On Node Selected"
-msgstr "Rimani nell'Editor degli Script quando un Nodo è selezionato"
+msgstr "Rimani nell'editor degli script quando un nodo è selezionato"
#: editor/editor_settings.cpp
msgid "Appearance"
@@ -5601,7 +5597,7 @@ msgstr "Mostra Linee Guida della Lunghezza della Linea"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Soft Column"
-msgstr ""
+msgstr "Margine suggerito per lunghezza riga"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
@@ -5719,7 +5715,6 @@ msgid "Help Font Size"
msgstr "Dimensione Carattere della Guida"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Help Source Font Size"
msgstr "Dimensione dei caratteri della sezione d'assistenza codice sorgente"
@@ -5829,7 +5824,6 @@ msgid "Lightmap Baking Number Of CPU Threads"
msgstr "Numero di Threads CPU del Baking di Lightmap"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Scheme"
msgstr "Schema di Navigazione"
@@ -5858,9 +5852,8 @@ msgid "Orbit Modifier"
msgstr "Modificatore Orbita"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "Modificatore di Pan"
+msgstr "Modificatore Pan"
#: editor/editor_settings.cpp
msgid "Zoom Modifier"
@@ -5871,9 +5864,8 @@ msgid "Warped Mouse Panning"
msgstr "Panning Continuo Del Mouse"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Feel"
-msgstr "Sensazione Navigazione"
+msgstr "Sensazione della Navigazione"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
@@ -5929,7 +5921,7 @@ msgstr "Colore Guide"
#: editor/editor_settings.cpp
msgid "Smart Snapping Line Color"
-msgstr "Colore Linea Agganciamento Intelligente"
+msgstr "Colore della linea dello scatto intelligente"
#: editor/editor_settings.cpp
msgid "Bone Width"
@@ -5948,9 +5940,8 @@ msgid "Bone Selected Color"
msgstr "Colore Osso Selezionato"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone IK Color"
-msgstr "Colore IK Osso"
+msgstr "Colore Osso IK"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
@@ -5986,7 +5977,6 @@ msgid "Poly Editor"
msgstr "Editor Poly"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Point Grab Radius"
msgstr "Raggio Afferramento Punti"
@@ -6099,9 +6089,8 @@ msgid "Keyword Color"
msgstr "Colore Parola Chiave"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Control Flow Keyword Color"
-msgstr "Colore Parola Chiave Controllo Flusso"
+msgstr "Colore della Parola Chiave del Controllo Flusso"
#: editor/editor_settings.cpp
msgid "Base Type Color"
@@ -6973,7 +6962,7 @@ msgstr "Filtro"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Mipmaps"
-msgstr "Mipmaps"
+msgstr "Mappe errate"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
@@ -7079,7 +7068,7 @@ msgstr "Nome Root"
#: editor/import/resource_importer_scene.cpp
msgid "Root Scale"
-msgstr "Scala Root"
+msgstr "Scala di radice"
#: editor/import/resource_importer_scene.cpp
msgid "Custom Script"
@@ -8010,7 +7999,7 @@ msgstr "Posizione animazione (in secondi)."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Scale animation playback globally for the node."
-msgstr "Scala playback dell'animazione globalmente per il nodo."
+msgstr "Scala la riproduzione dell'animazione globalmente per il nodo."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Tools"
@@ -8214,7 +8203,6 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Assegna l'animazione finale. Utile per le sotto-transizioni."
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition:"
msgstr "Transizione:"
@@ -8328,12 +8316,13 @@ msgid "Blend4 Node"
msgstr "Nodo Blend4"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
msgid "TimeScale Node"
msgstr "Nodo TimeScale"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
-msgstr "Nodo TimeScale"
+msgstr "Nodo TimeSeek"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
@@ -8465,7 +8454,7 @@ msgstr "Errore nel fare richiesta"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Idle"
-msgstr "Inattivo"
+msgstr "Inattività"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Install..."
@@ -8655,7 +8644,7 @@ msgstr "Anteprima"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
-msgstr "Configura Agganciamento"
+msgstr "Configura scatto"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Offset:"
@@ -8731,7 +8720,7 @@ msgstr "Sposta Ancora CanvasItem \"%s\""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale Node2D \"%s\" to (%s, %s)"
-msgstr "Scala Node2D \"%s\" a (%s, %s)"
+msgstr "Ridimensiona Node2D \"%s\" a (%s, %s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Resize Control \"%s\" to (%d, %d)"
@@ -8739,11 +8728,11 @@ msgstr "Ridimensiona Control \"%s\" a (%d, %d)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale %d CanvasItems"
-msgstr "Scala %d CanvasItem"
+msgstr "Ridimensiona %d CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr "Scala CanvasItem \"%s\" a (%s, %s)"
+msgstr "Ridimensiona CanvasItem \"%s\" a (%s, %s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move %d CanvasItems"
@@ -8960,7 +8949,7 @@ msgstr "Alt+Trascina: Muovi nodo selezionato."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+Drag: Scale selected node."
-msgstr "Alt+Trascina: Ridimensiona il nodo selezionato."
+msgstr "Alt+Trascinamento: Ridimensiona il nodo selezionato."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "V: Set selected node's pivot position."
@@ -8994,7 +8983,7 @@ msgstr "Modalità scala"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Shift: Scale proportionally."
-msgstr "Shift: Ridimensiona proporzionalmente."
+msgstr "Maiusc: Ridimensiona proporzionalmente."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9019,7 +9008,7 @@ msgstr "Modalità Righello"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle smart snapping."
-msgstr "Commuta l'agganciamento intelligente."
+msgstr "Commuta lo scatto intelligente."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Smart Snap"
@@ -9035,7 +9024,7 @@ msgstr "Usa la griglia magnetica"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snapping Options"
-msgstr "Opzioni Agganciamento"
+msgstr "Opzioni dello scatto"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
@@ -9043,19 +9032,19 @@ msgstr "Aggancia Rotazione"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Scale Snap"
-msgstr "Aggancia Ridimensionamento"
+msgstr "Scatta la scala"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
-msgstr "Agganciamento Relativo"
+msgstr "Scatto relativo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
-msgstr "Agganciamento su Pixel"
+msgstr "Scatta sui pixel"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Smart Snapping"
-msgstr "Agganciamento Intelligente"
+msgstr "Scatto intelligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9154,7 +9143,7 @@ msgstr "Mostra"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show When Snapping"
-msgstr "Mostra Se Agganciamento"
+msgstr "Mostra durante lo scatto"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
@@ -9219,7 +9208,7 @@ msgstr "Maschera di rotazione per l'inserimento delle chiavi."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale mask for inserting keys."
-msgstr "Maschera di scala per l'inserimento delle chiavi."
+msgstr "Scala maschera per l'inserimento delle chiavi."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert keys (based on mask)."
@@ -9345,8 +9334,8 @@ msgid ""
"Drag & drop + Shift : Add node as sibling\n"
"Drag & drop + Alt : Change node type"
msgstr ""
-"Trascina & Rilascia + Shift : Aggiungi nodo come fratello\n"
-"Trascina & Rilascia + Alt : Cambia tipo del nodo"
+"Trascina e Rilascia + Shift : Aggiungi nodo come fratello\n"
+"Trascina e Rilascia + Alt : Cambia tipo del nodo"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Polygon3D"
@@ -9442,7 +9431,7 @@ msgstr "Flat 0"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 1"
-msgstr "Flat 1"
+msgstr "Flat 1Flat 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -9522,7 +9511,7 @@ msgstr "Scambia Punti di Riempimento del Gradiente"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Toggle Grid Snap"
-msgstr "Commuta Agganciamento Griglia"
+msgstr "Commuta scatto sulla griglia"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9540,7 +9529,6 @@ msgid "Icon"
msgstr "Icona"
#: editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "ID"
msgstr "ID"
@@ -9709,7 +9697,6 @@ msgstr ""
"collisioni."
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Simplified Convex Collision Sibling"
msgstr "Crea Fratello di Collisione Convessa Semplificato"
@@ -9909,7 +9896,7 @@ msgstr "Inclinazione Casuale:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Scale:"
-msgstr "Scala Casuale:"
+msgstr "Scala casuale:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate"
@@ -10169,7 +10156,7 @@ msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Polygon & UV"
-msgstr "Crea Poligono & UV"
+msgstr "Crea Poligono e UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Internal Vertex"
@@ -10265,7 +10252,7 @@ msgstr "Ruota poligono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Scale Polygon"
-msgstr "Scala poligono"
+msgstr "Ridimensiona poligono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create a custom polygon. Enables custom polygon rendering."
@@ -10406,7 +10393,6 @@ msgid "Flip Portal"
msgstr "Ribalta Portale"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Set Transform"
msgstr "Imposta Trasformazione dell' Occlusore"
@@ -10758,7 +10744,7 @@ msgstr "[Ignora]"
#: editor/plugins/script_text_editor.cpp
msgid "Line"
-msgstr "Linea"
+msgstr "Riga"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function"
@@ -11006,7 +10992,7 @@ msgstr "Ortogonale dal Basso"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom Perspective"
-msgstr "Prospettica dal Basso"
+msgstr "Prospettica dal basso"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left Orthogonal"
@@ -11014,7 +11000,7 @@ msgstr "Ortogonale a Sinistra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left Perspective"
-msgstr "Prospettica a Sinistra"
+msgstr "Prospettica da sinistra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Right Orthogonal"
@@ -11022,7 +11008,7 @@ msgstr "Ortogonale a Destra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Right Perspective"
-msgstr "Prospettica a Destra"
+msgstr "Prospettica da destra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Front Orthogonal"
@@ -11030,7 +11016,7 @@ msgstr "Ortogonale di Fronte"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Front Perspective"
-msgstr "Prospettica di Fronte"
+msgstr "Prospettica di fronte"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear Orthogonal"
@@ -11038,7 +11024,7 @@ msgstr "Ortogonale da Dietro"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear Perspective"
-msgstr "Prospettica da Dietro"
+msgstr "Prospettica da dietro"
#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
#: editor/plugins/spatial_editor_plugin.cpp
@@ -11140,7 +11126,6 @@ msgid "Vertices:"
msgstr "Vertici:"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "FPS: %d (%s ms)"
msgstr "FPS: %d (%s ms)"
@@ -11186,31 +11171,31 @@ msgstr "Questa operazione richiede un solo nodo selezionato."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Auto Orthogonal Enabled"
-msgstr "Ortogonale Automatico Abilitato"
+msgstr "Ortogonale automatica abilitata"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock View Rotation"
-msgstr "Blocca Rotazione Vista"
+msgstr "Blocca la rotazione della vista"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
-msgstr "Mostra Normale"
+msgstr "Visualizzazione predefinita"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Wireframe"
-msgstr "Mostra Wireframe"
+msgstr "Visualizzazione fildiferro"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Overdraw"
-msgstr "Mostra Overdraw"
+msgstr "Visualizza Overdraw"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Unshaded"
-msgstr "Mostra Unshaded"
+msgstr "Visualizzazione senza ombre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Environment"
-msgstr "Mostra Ambiente"
+msgstr "Visualizza ambiente"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Gizmos"
@@ -11388,12 +11373,10 @@ msgid "Orbit View Right"
msgstr "Orbita la visuale a destra"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Orbit View Up"
msgstr "Orbita la visuale in sù"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Orbit View 180"
msgstr "Orbita la visuale 180"
@@ -11426,7 +11409,6 @@ msgid "Increase Field of View"
msgstr "Aumenta il Campo Visivo"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Reset Field of View to Default"
msgstr "Ripristina il Campo Visivo alle impostazioni predefinite"
@@ -11436,7 +11418,7 @@ msgstr "Scatta l'oggetto sul suolo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
-msgstr "Finestra di Transform..."
+msgstr "Modale di trasformazione..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "1 Viewport"
@@ -11468,11 +11450,11 @@ msgstr "Gizmos"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
-msgstr "Visualizza Origine"
+msgstr "Visualizza l'origine"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Grid"
-msgstr "Visualizza Griglia"
+msgstr "Visualizza la griglia"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Portal Culling"
@@ -11489,19 +11471,19 @@ msgstr "Impostazioni…"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
-msgstr "Impostazioni Agganciamento"
+msgstr "Impostazioni dello scatto"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate Snap:"
-msgstr "Agganciamento Traslazione:"
+msgstr "Scatto di traslazione:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Snap (deg.):"
-msgstr "Agganciamento Rotazione (gradi):"
+msgstr "Scatto di rotazione (gradi):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scale Snap (%):"
-msgstr "Agganciamento Ridimensionamento (%):"
+msgstr "Scatto della scala (%):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
@@ -11521,7 +11503,7 @@ msgstr "Visualizza Z-Far:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Change"
-msgstr "Cambiamento Transform"
+msgstr "Cambio di trasformazione"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate:"
@@ -11537,7 +11519,7 @@ msgstr "Scala (rapporto):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Type"
-msgstr "Tipo Transform"
+msgstr "Tipo di trasformazione"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Pre"
@@ -11548,14 +11530,12 @@ msgid "Post"
msgstr "Post"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Manipulator Gizmo Size"
msgstr "Dimensione Gizmo Di Controllo"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Manipulator Gizmo Opacity"
-msgstr "Opacità Gizmo Di Controllo"
+msgstr "Opacità Gizmo Manipolatore"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Show Viewport Rotation Gizmo"
@@ -11716,9 +11696,8 @@ msgid "New Animation"
msgstr "Nuova Animazione"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Filter animations"
-msgstr "Modalità di filtraggio animazioni"
+msgstr "Filtraggio animazioni"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
@@ -11809,11 +11788,11 @@ msgstr "Modalità dello scatto:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Pixel Snap"
-msgstr "Agganciamento Pixel"
+msgstr "Scatto sui pixel"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Snap"
-msgstr "Agganciamento Griglia"
+msgstr "Scatto sulla griglia"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Auto Slice"
@@ -12387,7 +12366,7 @@ msgstr "Elemento Modificabile"
#: editor/plugins/theme_editor_preview.cpp
msgid "Subtree"
-msgstr "Sottoalbero"
+msgstr "Subtree"
#: editor/plugins/theme_editor_preview.cpp
msgid "Has,Many,Options"
@@ -12550,7 +12529,7 @@ msgstr "Lato Editor"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Display Grid"
-msgstr "Mostra Griglia"
+msgstr "Visualizza griglia"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Axis Color"
@@ -12706,7 +12685,7 @@ msgstr "Abilita lo scatto e mostra la griglia (configurabile dall'ispettore)."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Display Tile Names (Hold Alt Key)"
-msgstr "Mostra i Nomi delle Tile (Tenere Premuto Tasto Alt)"
+msgstr "Visualizza i nomi dei tasselli (tenere premuto il tasto alt)"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -12895,7 +12874,7 @@ msgstr "Questa proprietà non può essere cambiata."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Snap Options"
-msgstr "Opzioni Agganciamento"
+msgstr "Opzioni dello scatto"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
@@ -12903,9 +12882,10 @@ msgstr "Opzioni Agganciamento"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Scostamento"
@@ -13083,9 +13063,8 @@ msgid "Select SSH private key path"
msgstr "Seleziona il percorso della chiave privata SSH"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "SSH Passphrase"
-msgstr "Frase di accesso SSH"
+msgstr "SSH Passphrase"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
@@ -13157,11 +13136,11 @@ msgstr "URL Remoto"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Fetch"
-msgstr ""
+msgstr "Fetch"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Pull"
-msgstr ""
+msgstr "Pull"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -14328,16 +14307,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Percorso del progetto invalido (cambiato qualcosa?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Impossibile caricare project.godot nel percorso del progetto (errore %d). "
"Può essere mancante o corrotto."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Impossibile modificare project.godot nel percorso del progetto."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Impossibile aprire il progetto a \"%s\"."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -14365,7 +14345,7 @@ msgstr "Importa Progetto Esistente"
#: editor/project_manager.cpp
msgid "Import & Edit"
-msgstr "Importa & Modifica"
+msgstr "Importa e Modifica"
#: editor/project_manager.cpp
msgid "Create New Project"
@@ -14373,7 +14353,7 @@ msgstr "Crea Nuovo Progetto"
#: editor/project_manager.cpp
msgid "Create & Edit"
-msgstr "Crea & Modifica"
+msgstr "Crea e Modifica"
#: editor/project_manager.cpp
msgid "Install Project:"
@@ -14381,7 +14361,7 @@ msgstr "Installa Progetto:"
#: editor/project_manager.cpp
msgid "Install & Edit"
-msgstr "Installa & Modifica"
+msgstr "Installa e Modifica"
#: editor/project_manager.cpp
msgid "Project Name:"
@@ -15180,7 +15160,7 @@ msgstr "Mantieni Transform Globale"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
-msgstr "Cambia Genitore"
+msgstr "Riaccoppiare"
#: editor/run_settings_dialog.cpp
msgid "Run Mode:"
@@ -15928,7 +15908,7 @@ msgstr "Monitor"
#: editor/script_editor_debugger.cpp
msgid "Pick one or more items from the list to display the graph."
-msgstr "Scegli uno o più elementi dall'elenco per mostrare il grafico."
+msgstr "Scegliere uno o più elementi dall'elenco per mostrare il grafico."
#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
@@ -16234,7 +16214,6 @@ msgid "Flush stdout On Print"
msgstr "Svuota stdout Alla Stampa"
#: main/main.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Logging"
msgstr "Logging"
@@ -16316,11 +16295,11 @@ msgstr "Modello Thread"
#: main/main.cpp
msgid "Thread Safe BVH"
-msgstr ""
+msgstr "Thread sicuro BVH"
#: main/main.cpp
msgid "Handheld"
-msgstr ""
+msgstr "Maneggiato"
#: main/main.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
@@ -16342,7 +16321,7 @@ msgstr "Forza FPS"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
-msgstr ""
+msgstr "Abilita Picking Allerta Pausa"
#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
@@ -16352,7 +16331,7 @@ msgstr "Interfaccia Grafica"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
+msgstr "Rilascio del mouse sull'Input della GUI Disabilitato"
#: main/main.cpp
msgid "stdout"
@@ -16399,7 +16378,6 @@ msgid "Input Devices"
msgstr "Dispositivi Input"
#: main/main.cpp
-#, fuzzy
msgid "Pointing"
msgstr "Puntamento"
@@ -16426,7 +16404,6 @@ msgid "Environment"
msgstr "Ambiente"
#: main/main.cpp
-#, fuzzy
msgid "Default Clear Color"
msgstr "Colore Di Sfondo Di Default"
@@ -16468,7 +16445,7 @@ msgstr "Buffering"
#: main/main.cpp
msgid "Agile Event Flushing"
-msgstr ""
+msgstr "Svuotamento degli eventi usando l'algoritmo Agile"
#: main/main.cpp
msgid "Emulate Touch From Mouse"
@@ -16656,16 +16633,15 @@ msgstr "Gradi di Rotazione"
#: modules/csg/csg_shape.cpp
msgid "Spin Sides"
-msgstr ""
+msgstr "Lati rotazione"
#: modules/csg/csg_shape.cpp
msgid "Path Node"
msgstr "Percorso Nodo"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Interval Type"
-msgstr "Crea Vertice Interno"
+msgstr "Tipo di intervallo del Percorso"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
@@ -16673,7 +16649,7 @@ msgstr "Intervallo Percorso"
#: modules/csg/csg_shape.cpp
msgid "Path Simplify Angle"
-msgstr ""
+msgstr "Angolo di semplificazione Percorso"
#: modules/csg/csg_shape.cpp
msgid "Path Rotation"
@@ -16694,7 +16670,6 @@ msgid "Path U Distance"
msgstr "Scegli la Distanza:"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Joined"
msgstr "Percorsi Uniti"
@@ -16716,15 +16691,15 @@ msgstr "Sempre In Ordine"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
-msgstr ""
+msgstr "Rimbalzo Server"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
-msgstr ""
+msgstr "Verifica DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Hostname"
-msgstr ""
+msgstr "Nome host DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Use DTLS"
@@ -16732,7 +16707,7 @@ msgstr "Usa DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
-msgstr ""
+msgstr "FBX"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Use FBX"
@@ -16810,7 +16785,6 @@ msgid "Disabled GDNative Singleton"
msgstr "Singleton GDNative disabilitato"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Libraries:"
msgstr "Librerie:"
@@ -16956,11 +16930,11 @@ msgstr "Conteggio Sparso"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
-msgstr ""
+msgstr "Vista indici sparsi dei buffer"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Byte Offset"
-msgstr ""
+msgstr "Scostamento Byte degli Indici Sparsi"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Component Type"
@@ -16968,11 +16942,11 @@ msgstr "Tipo di Componente degli Indici Sparsi"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
-msgstr ""
+msgstr "Vista buffer dei valori sparsi"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Byte Offset"
-msgstr ""
+msgstr "Scostamento Byte dei Valori Sparsi"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Buffer"
@@ -16996,11 +16970,11 @@ msgstr "Dimensione Campo VIsivo"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
-msgstr ""
+msgstr "Z Lontano"
#: modules/gltf/gltf_camera.cpp
msgid "Znear"
-msgstr "Znear"
+msgstr "Z Vicino"
#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
@@ -17048,11 +17022,11 @@ msgstr "Xform"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
-msgstr ""
+msgstr "Skin"
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
msgid "Translation"
-msgstr "Traslazione"
+msgstr "Traduzione"
#: modules/gltf/gltf_node.cpp
msgid "Children"
@@ -17075,18 +17049,18 @@ msgid "Godot Bone Node"
msgstr "Nodo Osso Godot"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Skin Root"
-msgstr "Nuova Scena Radice"
+msgstr "Radice della Skin"
#: modules/gltf/gltf_skin.cpp
#, fuzzy
msgid "Joints Original"
-msgstr "Centra Origine"
+msgstr "Articolazioni Originali"
#: modules/gltf/gltf_skin.cpp
+#, fuzzy
msgid "Inverse Binds"
-msgstr ""
+msgstr "Inverti Legamenti"
#: modules/gltf/gltf_skin.cpp
msgid "Non Joints"
@@ -17094,11 +17068,11 @@ msgstr "Non Articolazioni"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
-msgstr ""
+msgstr "Articolazione I ad Osso I"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Name"
-msgstr ""
+msgstr "Articolazione I a Nome"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
@@ -17126,7 +17100,7 @@ msgstr "Immagine Gloss Speculare"
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "Json"
#: modules/gltf/gltf_state.cpp
msgid "Major Version"
@@ -17141,13 +17115,13 @@ msgid "GLB Data"
msgstr "Dati GLB"
#: modules/gltf/gltf_state.cpp
+#, fuzzy
msgid "Use Named Skin Binds"
-msgstr ""
+msgstr "Usa associazioni skin con nome"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Buffer Views"
-msgstr "Vista dal retro"
+msgstr "Viste dei Buffer"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
@@ -17237,17 +17211,15 @@ msgid "Mask"
msgstr "Maschera"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#, fuzzy
msgid "Bake Navigation"
-msgstr "Navigazione"
+msgstr "Preprocessa Navigazione"
#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
#: scene/3d/navigation_mesh_instance.cpp
-#, fuzzy
msgid "Navigation Layers"
-msgstr "Sensazione Navigazione"
+msgstr "Livelli Navigazione"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -17282,9 +17254,8 @@ msgid "GridMap Fill Selection"
msgstr "GridMap Riempi Selezione"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "Sezione GridMap incolla"
+msgstr "Incolla Selezione GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -17299,9 +17270,8 @@ msgid "Snap View"
msgstr "Scatta Visuale"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Clip Disabled"
-msgstr "Clip Disabilitata"
+msgstr "Clip Disabilitato"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Above"
@@ -17409,9 +17379,8 @@ msgid "Plotting lightmaps"
msgstr "Stampando le lightmap"
#: modules/lightmapper_cpu/register_types.cpp
-#, fuzzy
msgid "CPU Lightmapper"
-msgstr "Preprocessa Lightmaps"
+msgstr "CPU Mappatore Della Luce"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
@@ -17442,28 +17411,27 @@ msgstr "Altezza Occhio"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "IOD"
-msgstr ""
+msgstr "IOD"
#: modules/mobile_vr/mobile_vr_interface.cpp
+#, fuzzy
msgid "Display Width"
msgstr "Larghezza Display"
#: modules/mobile_vr/mobile_vr_interface.cpp
#, fuzzy
msgid "Display To Lens"
-msgstr "Mostra Unshaded"
+msgstr "Mostra alle Lenti"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
-msgstr ""
+msgstr "Sovracampionamento"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "K1"
msgstr "K1"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "K2"
msgstr "K2"
@@ -17482,20 +17450,17 @@ msgstr "Auto-Aggiorna Progetto"
#: modules/mono/godotsharp_dirs.cpp
#, fuzzy
msgid "Assembly Name"
-msgstr "Nome Display"
+msgstr "Nome Assemblaggio"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "Solution Directory"
-msgstr "Scegli una cartella"
+msgstr "Cartella di Soluzione"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "C# Project Directory"
-msgstr "Scegli una cartella"
+msgstr "Cartella Progetto C#"
#: modules/mono/mono_gd/gd_mono_utils.cpp
-#, fuzzy
msgid "End of inner exception stack trace"
msgstr "Fine dell'analisi dell’eccezione interna dello stack"
@@ -17620,11 +17585,11 @@ msgstr ""
#: modules/upnp/upnp.cpp
msgid "Discover Local Port"
-msgstr ""
+msgstr "Rileva Porta Locale"
#: modules/upnp/upnp.cpp
msgid "Discover IPv6"
-msgstr ""
+msgstr "Rilevamento IPv6"
#: modules/upnp/upnp_device.cpp
msgid "Description URL"
@@ -17636,21 +17601,19 @@ msgstr "Tipo Di Servizio"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
-msgstr ""
+msgstr "URL di controllo IGD"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Service Type"
-msgstr "Imposta Tipo di Variabile"
+msgstr "Tipo Servizio IGD"
#: modules/upnp/upnp_device.cpp
msgid "IGD Our Addr"
-msgstr ""
+msgstr "Indirizzo locale IGD"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Status"
-msgstr "Stato"
+msgstr "Stato IGD"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -17677,7 +17640,6 @@ msgstr ""
"memoria di lavoro del nodo! Si prega di correggere il nodo."
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Node returned an invalid sequence output:"
msgstr "Il nodo ha ritornato una sequenza di output invalida:"
@@ -17686,14 +17648,13 @@ msgid "Found sequence bit but not the node in the stack, report bug!"
msgstr "Trovato bit di sequenza ma non il nodo nello stack, segnalare il bug!"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Stack overflow with stack depth:"
msgstr "Overflow dello stack con profondità dello stack:"
#: modules/visual_script/visual_script.cpp
#, fuzzy
msgid "Visual Script"
-msgstr "Ricerca VisualScript"
+msgstr "Script Visivo"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
@@ -18014,7 +17975,6 @@ msgstr "Modifica membro"
#: modules/visual_script/visual_script_expression.cpp
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Expression"
msgstr "Espressione"
@@ -18023,9 +17983,8 @@ msgid "Return"
msgstr "Ritorno"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Enabled"
-msgstr "Eseguibile"
+msgstr "Ritorno Abilitato"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return Type"
@@ -18038,27 +17997,26 @@ msgstr "Condizione"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
-msgstr "if (cond) is:"
+msgstr "se (cond) è:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "While"
-msgstr "While"
+msgstr "Mentre"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
-msgstr ""
+msgstr "mentre (cond):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator"
msgstr "Iteratore"
#: modules/visual_script/visual_script_flow_control.cpp
+#, fuzzy
msgid "for (elem) in (input):"
-msgstr ""
+msgstr "per (elem) in (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Input type not iterable:"
msgstr "Il tipo di input non è iterabile:"
@@ -18067,7 +18025,6 @@ msgid "Iterator became invalid"
msgstr "L'iteratore è diventato invalido"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Iterator became invalid:"
msgstr "L'iteratore è diventato invalido:"
@@ -18080,9 +18037,8 @@ msgid "in order:"
msgstr "in ordine:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Steps"
-msgstr "Passo"
+msgstr "Passi"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Switch"
@@ -18095,7 +18051,7 @@ msgstr "'input' è:"
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
msgid "Type Cast"
-msgstr "Tipo:"
+msgstr "Conversione Tipo"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
@@ -18139,9 +18095,8 @@ msgid "Validate"
msgstr "Valida"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "RPC Call Mode"
-msgstr "Modalità scala"
+msgstr "Modalità Chiamata RPC"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Subtract %s"
@@ -18160,34 +18115,38 @@ msgid "Mod %s"
msgstr "Modulo %s"
#: modules/visual_script/visual_script_func_nodes.cpp
+#, fuzzy
msgid "ShiftLeft %s"
-msgstr "ShiftLeft %s"
+msgstr "SpostaSinistra %s"
#: modules/visual_script/visual_script_func_nodes.cpp
+#, fuzzy
msgid "ShiftRight %s"
-msgstr ""
+msgstr "SpostaDestra %s"
#: modules/visual_script/visual_script_func_nodes.cpp
+#, fuzzy
msgid "BitAnd %s"
-msgstr "BitAnd %s"
+msgstr "Bit E %s"
#: modules/visual_script/visual_script_func_nodes.cpp
+#, fuzzy
msgid "BitOr %s"
-msgstr ""
+msgstr "Bit O %s"
#: modules/visual_script/visual_script_func_nodes.cpp
+#, fuzzy
msgid "BitXor %s"
-msgstr ""
+msgstr "Bit XO %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#, fuzzy
msgid "Set Mode"
-msgstr "Modalità di Selezione"
+msgstr "Modalità di Impostazione"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Assign Op"
-msgstr "Assegna"
+msgstr "Operatore Assegna"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -18204,7 +18163,6 @@ msgid "Base object is not a Node!"
msgstr "L'oggetto base non è un Nodo!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead to Node!"
msgstr "Il percorso non conduce a un Nodo!"
@@ -18213,14 +18171,13 @@ msgid "Invalid index property name '%s' in node %s."
msgstr "Nome proprietà indice invalido \"%s\" nel nodo %s."
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Emit %s"
-msgstr "Imposta %s"
+msgstr "Emetti %s"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
msgid "Compose Array"
-msgstr "Ridimensiona lista"
+msgstr "Componi Lista"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
@@ -18228,12 +18185,10 @@ msgid "Operator"
msgstr "Operatore"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Invalid argument of type:"
msgstr "Argomento invalido di tipo:"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Invalid arguments:"
msgstr "Argomenti invalidi:"
@@ -18246,12 +18201,10 @@ msgid "Var Name"
msgstr "Var Nome"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "VariableGet not found in script:"
msgstr "VariableGet non trovato nello script:"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "VariableSet not found in script:"
msgstr "VariableSet non trovato nello script:"
@@ -18318,46 +18271,40 @@ msgstr ""
"oppure una stringa (errore)."
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "SubCall"
-msgstr "Chiamate"
+msgstr "SottoChiamata"
#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
msgid "Title"
msgstr "Titolo"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Construct %s"
-msgstr "Costanti"
+msgstr "Costruisci %s"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Local Var"
-msgstr "Usa Spazio Locale"
+msgstr "Ottieni Variabile Locale"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Set Local Var"
-msgstr "Usa Spazio Locale"
+msgstr "Imposta Variabile Locale"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Action %s"
-msgstr "Azione"
+msgstr "Azione %s"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Deconstruct %s"
-msgstr ""
+msgstr "Decostruisci %s"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search VisualScript"
msgstr "Ricerca VisualScript"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Yield"
-msgstr "Yield"
+msgstr "Rendi (Yield)"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
@@ -18382,31 +18329,31 @@ msgstr "Tempo Di Attesa"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
msgid "WaitSignal"
-msgstr "WaitSignal"
+msgstr "SegnaleAspetta"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
msgid "WaitNodeSignal"
-msgstr "WaitNodeSignal"
+msgstr "SegnaleAspettaNodo"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
msgid "WaitInstanceSignal"
-msgstr "WaitInstanceSignal"
+msgstr "SegnaleAspettaIstanza"
#: modules/webrtc/webrtc_data_channel.cpp
#, fuzzy
msgid "Write Mode"
-msgstr "Modalità Priorità"
+msgstr "Modalità Scrittura"
#: modules/webrtc/webrtc_data_channel.h
+#, fuzzy
msgid "WebRTC"
-msgstr ""
+msgstr "RTCWeb"
#: modules/webrtc/webrtc_data_channel.h
-#, fuzzy
msgid "Max Channel In Buffer (KB)"
-msgstr "Dimensione Index Buffer dei Poligoni nel Canvas (KB)"
+msgstr "Canali In Buffer Massimi (KB)"
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
@@ -18417,36 +18364,36 @@ msgid "Trusted SSL Certificate"
msgstr "Certificato SSL Fidato"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Client"
-msgstr "Peer di Rete"
+msgstr "Cliente WebSocket"
#: modules/websocket/websocket_macros.h
#, fuzzy
msgid "Max In Buffer (KB)"
-msgstr "Dimensione Massima (KB)"
+msgstr "In Buffer Massimi (KB)"
#: modules/websocket/websocket_macros.h
+#, fuzzy
msgid "Max In Packets"
-msgstr ""
+msgstr "Pacchetti In Massimi"
#: modules/websocket/websocket_macros.h
#, fuzzy
msgid "Max Out Buffer (KB)"
-msgstr "Dimensione Massima (KB)"
+msgstr "Out Buffer Massimi (KB)"
#: modules/websocket/websocket_macros.h
+#, fuzzy
msgid "Max Out Packets"
-msgstr ""
+msgstr "Pacchetti Out Massimi"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Server"
-msgstr "Peer di Rete"
+msgstr "Server WebSocket"
#: modules/websocket/websocket_server.cpp
msgid "Bind IP"
-msgstr ""
+msgstr "Collega IP"
#: modules/websocket/websocket_server.cpp
msgid "Private Key"
@@ -18457,9 +18404,8 @@ msgid "SSL Certificate"
msgstr "Certificato SSL"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "CA Chain"
-msgstr "Elimina Catena IK"
+msgstr "Catena CA"
#: modules/websocket/websocket_server.cpp
msgid "Handshake Timeout"
@@ -18478,12 +18424,14 @@ msgid "Optional Features"
msgstr "Funzionalità Opzionali"
#: modules/webxr/webxr_interface.cpp
+#, fuzzy
msgid "Requested Reference Space Types"
-msgstr ""
+msgstr "Tipi di Riferimento Spazio Richiesti"
#: modules/webxr/webxr_interface.cpp
+#, fuzzy
msgid "Reference Space Type"
-msgstr ""
+msgstr "Tipi di Riferimento Spazio"
#: modules/webxr/webxr_interface.cpp
msgid "Visibility State"
@@ -18494,26 +18442,25 @@ msgid "Bounds Geometry"
msgstr "Confini Geometria"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "XR Standard Mapping"
-msgstr "Agganciamento Intelligente"
+msgstr "Mappamento Standard XR"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
msgstr "Percorso SDK Android"
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Debug Keystore"
-msgstr "Debugger"
+msgstr "Keystore di Debug"
#: platform/android/export/export.cpp
msgid "Debug Keystore User"
-msgstr ""
+msgstr "Keystore di Debug Utente"
#: platform/android/export/export.cpp
+#, fuzzy
msgid "Debug Keystore Pass"
-msgstr ""
+msgstr "Keystore di Debug Pass"
#: platform/android/export/export.cpp
msgid "Force System User"
@@ -18521,23 +18468,23 @@ msgstr "Forza Utente System"
#: platform/android/export/export.cpp
msgid "Shutdown ADB On Exit"
-msgstr ""
+msgstr "Spegni ADB In Uscita"
#: platform/android/export/export_plugin.cpp
msgid "Launcher Icons"
-msgstr ""
+msgstr "Icone del Launcher"
#: platform/android/export/export_plugin.cpp
msgid "Main 192 X 192"
-msgstr ""
+msgstr "Principale 192 X 192"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Foreground 432 X 432"
-msgstr ""
+msgstr "Primo Piano Adattivo 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "Sfondo Adattivo 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -18569,9 +18516,8 @@ msgid "The package must have at least one '.' separator."
msgstr "Il pacchetto deve avere almeno un \".\" separatore."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Build"
-msgstr "Utilizza Build Personalizzata"
+msgstr "Build Personalizzata"
#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
@@ -18590,22 +18536,20 @@ msgid "Target SDK"
msgstr "Target SDK"
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
-msgstr "Architettura"
+msgstr "Architetture"
#: platform/android/export/export_plugin.cpp
msgid "Keystore"
msgstr "Archivio Chiavi"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Debug User"
-msgstr "Debugger"
+msgstr "User di Debug"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Debug Password"
-msgstr ""
+msgstr "Password di Debug"
#: platform/android/export/export_plugin.cpp
msgid "Release User"
@@ -18617,7 +18561,7 @@ msgstr "Password Di Rilascio"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
-msgstr ""
+msgstr "Distribuzione con un Click"
#: platform/android/export/export_plugin.cpp
msgid "Clear Previous Install"
@@ -18636,9 +18580,8 @@ msgid "Unique Name"
msgstr "Nome Unico"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Signed"
-msgstr "Segnale"
+msgstr "Firmato"
#: platform/android/export/export_plugin.cpp
msgid "Classify As Game"
@@ -18669,50 +18612,45 @@ msgid "XR Mode"
msgstr "Modalità XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Hand Tracking"
-msgstr "Impacchettando"
+msgstr "Tracciamento della Mano"
#: platform/android/export/export_plugin.cpp
msgid "Hand Tracking Frequency"
-msgstr ""
+msgstr "Frequenza Tracciamento della Mano"
#: platform/android/export/export_plugin.cpp
msgid "Passthrough"
-msgstr "Passthrough"
+msgstr "Passaggio"
#: platform/android/export/export_plugin.cpp
msgid "Immersive Mode"
msgstr "Modalità Immersiva"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Small"
-msgstr "Supporta"
+msgstr "Supporta Piccolo"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Normal"
-msgstr "Supporta"
+msgstr "Supporta Normale"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Large"
-msgstr "Supporta"
+msgstr "Supporta Grande"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Support Xlarge"
-msgstr "Supporta"
+msgstr "Supporta Extra-Grande"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "User Data Backup"
-msgstr "Interfaccia Utente"
+msgstr "Backup Dati Utente"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
-msgstr ""
+msgstr "Permetti"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Command Line"
@@ -18728,7 +18666,7 @@ msgstr "Espansione APK"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
-msgstr ""
+msgstr "Sale"
#: platform/android/export/export_plugin.cpp
msgid "Public Key"
@@ -18852,6 +18790,7 @@ msgid "Invalid package name:"
msgstr "Nome del pacchetto non valido:"
#: platform/android/export/export_plugin.cpp
+#, fuzzy
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
@@ -18859,26 +18798,29 @@ msgid ""
"Note that the singleton was also renamed from \"GodotPayments\" to "
"\"GodotGooglePlayBilling\"."
msgstr ""
+"Invalido modulo \"GodotPaymentV3\" incluso nelle impostazioni progetto "
+"\"android/modules\" (cambiato in Godot 3.2.2).\n"
+"Rimpiazzalo con il plugin di prime parti \"GodotGooglePlayBilling\".\n"
+"Da notare che il singleton è stato rinominato da \"GodotPayments\" a "
+"\"GodotGooglePlayBilling\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "Per utilizzare i plugin \"Use Custom Build\" deve essere abilitato."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
-"\"Hand Tracking\" è valido solo quando \"Xr Mode\" è impostato su \"Oculus "
-"Mobile VR\"."
+"\"Tracciamento della Mano\" è valido solo quando \"Modalità XR\" è impostato "
+"su \"Oculus Mobile VrApi\" o \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
-"\"Hand Tracking\" è valido solo quando \"Xr Mode\" è impostato su \"Oculus "
-"Mobile VR\"."
+"\"Oltrepassaggio\" è valido solo quando \"Modalità XR\" è impostato su "
+"\"OpenXR\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
@@ -18886,52 +18828,60 @@ msgstr ""
"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato."
+"\"Min SDK\" può essere sovrascritto solo se \"Utilizza Build "
+"Personalizzata\" è abilitato."
#: platform/android/export/export_plugin.cpp
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
+"\"Min SDK\" dovrebbe essere un intero valido, ma si è ottenuto \"%s\" che è "
+"invalido."
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
"Godot library."
msgstr ""
+"\"Min SDK\" non può essere più basso di %d, che è la versione richiesta "
+"dalla libreria Godot."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"\"Export AAB\" è valido soltanto quanto \"Use Custom Build\" è abilitato."
+"\"Target SDK\" può essere sovrascritto solo se \"Utilizza Build "
+"Personalizzata\" è abilitato."
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
+"\"Target SDK\" dovrebbe essere un intero valido, ma si è ottenuto \"%s\" che "
+"è invalido."
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Target SDK\" %d is higher than the default version %d. This may work, but "
"wasn't tested and may be unstable."
msgstr ""
+"\"Target SDK\" %d è più alto della versione di default %d. Questo potrebbe "
+"funzionare, ma non è stato testato e potrebbe essere instabile."
#: platform/android/export/export_plugin.cpp
msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
+"La versione di \"Target SDK\" dovrebbe essere maggiore o uguale della "
+"versione di \"Min SDK\"."
#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Code Signing"
-msgstr "Segnale"
+msgstr "Firmatura Codice"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"'apksigner' could not be found. Please check that the command is available "
"in the Android SDK build-tools directory. The resulting %s is unsigned."
@@ -18941,7 +18891,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Signing debug %s..."
-msgstr ""
+msgstr "Firmando debug %s..."
#: platform/android/export/export_plugin.cpp
msgid "Signing release %s..."
@@ -18952,7 +18902,6 @@ msgid "Could not find keystore, unable to export."
msgstr "Non è stato possibile trovare keystore, impossible esportare."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not start apksigner executable."
msgstr "Non è stato possibile avviare l'eseguibile apksigner."
@@ -18969,7 +18918,6 @@ msgid "'apksigner' verification of %s failed."
msgstr "Verifica 'apksigner' di %s non riuscita."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Exporting for Android"
msgstr "Esportazione per Android"
@@ -19000,25 +18948,22 @@ msgstr ""
"\"Progetto\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"Versione build di Android non coerente: Template installato: %s, Versione "
-"Godot: %s. Per favore, reinstalla il build template di Android dal menu "
-"\"Progetto\"."
+"La Versione build di Android non corrisponde: Template installato: %s, "
+"Versione Godot: %s. Per favore, reinstalla il build template di Android dal "
+"menu \"Progetto\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
"Impossibile sovrascrivere i file res://android/build/res/*.xml con il nome "
-"del progetto"
+"del progetto."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files to gradle project."
msgstr "Impossibile esportare i file del progetto in un progetto gradle."
@@ -19031,7 +18976,6 @@ msgid "Building Android Project (gradle)"
msgstr "Compilazione di un progetto Android (gradle)"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Building of Android project failed, check output for the error. "
"Alternatively visit docs.godotengine.org for Android build documentation."
@@ -19053,38 +18997,35 @@ msgstr ""
"directory del progetto gradle per gli output."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Package not found: \"%s\"."
-msgstr "Pacchetto non trovato: \"%s\""
+msgstr "Pacchetto non trovato: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
msgstr "Creazione APK..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not find template APK to export: \"%s\"."
msgstr "Impossibile trovare il template APK per l'esportazione: \"%s\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Missing libraries in the export template for the selected architectures: %s. "
"Please build a template with all required libraries, or uncheck the missing "
"architectures in the export preset."
msgstr ""
"Librerie mancanti nel modello di esportazione per le architetture "
-"selezionate: %s. Creare un modello con tutte le librerie richieste o "
-"deselezionare le architetture mancanti nella preimpostazione di esportazione."
+"selezionate: %s. Per favore creare un modello con tutte le librerie "
+"richieste, o deselezionare le architetture mancanti nella preimpostazione di "
+"esportazione."
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
msgstr "Aggiungendo file..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files."
-msgstr "Impossibile esportare i file del progetto"
+msgstr "Impossibile esportare i file del progetto."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19104,243 +19045,225 @@ msgstr "Il carattere \"%s\" non è consentito nell'Identificatore."
#: platform/iphone/export/export.cpp
msgid "Landscape Launch Screens"
-msgstr ""
+msgstr "Schermate di avvio Panorama"
#: platform/iphone/export/export.cpp
msgid "iPhone 2436 X 1125"
-msgstr ""
+msgstr "iPhone 2436 x 1125"
#: platform/iphone/export/export.cpp
msgid "iPhone 2208 X 1242"
-msgstr ""
+msgstr "iPhone 2208 x 1242"
#: platform/iphone/export/export.cpp
msgid "iPad 1024 X 768"
-msgstr ""
+msgstr "iPad 1024 x 768"
#: platform/iphone/export/export.cpp
msgid "iPad 2048 X 1536"
-msgstr ""
+msgstr "iPad 2048 x 1536"
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
-msgstr ""
+msgstr "Schermate di avvio Ritratto"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 960"
-msgstr ""
+msgstr "iPhone 640 x 960"
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 1136"
-msgstr ""
+msgstr "iPhone 640 x 1136"
#: platform/iphone/export/export.cpp
msgid "iPhone 750 X 1334"
-msgstr ""
+msgstr "iPhone 750 x 1334"
#: platform/iphone/export/export.cpp
msgid "iPhone 1125 X 2436"
-msgstr ""
+msgstr "iPhone 1125 x 2436"
#: platform/iphone/export/export.cpp
msgid "iPad 768 X 1024"
-msgstr ""
+msgstr "iPad 768 x 1024"
#: platform/iphone/export/export.cpp
msgid "iPad 1536 X 2048"
-msgstr ""
+msgstr "iPad 1536 x 2048"
#: platform/iphone/export/export.cpp
msgid "iPhone 1242 X 2208"
-msgstr ""
+msgstr "iPhone 1242 x 2208"
#: platform/iphone/export/export.cpp
+#, fuzzy
msgid "App Store Team ID"
-msgstr ""
+msgstr "ID App Store Team"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Debug"
-msgstr ""
+msgstr "Profilo di provisioning UUID Debug"
#: platform/iphone/export/export.cpp
+#, fuzzy
msgid "Code Sign Identity Debug"
-msgstr ""
+msgstr "Firma Codice Identità di Debug"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Debug"
-msgstr "Esporta Con Debug"
+msgstr "Metodo di Esportazione Debug"
#: platform/iphone/export/export.cpp
msgid "Provisioning Profile UUID Release"
-msgstr ""
+msgstr "Profilo di provisioning UUID Release"
#: platform/iphone/export/export.cpp
msgid "Code Sign Identity Release"
-msgstr ""
+msgstr "Identità firma del codice Release"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Release"
-msgstr "Modalità d'Esportazione:"
+msgstr "Metodo di Esportazione Rilascio"
#: platform/iphone/export/export.cpp
msgid "Targeted Device Family"
-msgstr ""
+msgstr "Famiglia di dispositivi selezionata"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
msgid "Info"
-msgstr ""
+msgstr "Info"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Identifier"
-msgstr "Identificatore non valido:"
+msgstr "Identificatore"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Signature"
-msgstr "Segnale"
+msgstr "Firma"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Short Version"
-msgstr "Versione"
+msgstr "Versione Corta"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Copyright"
-msgstr "In Alto A Destra"
+msgstr "Copyright"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Capabilities"
-msgstr "Compatibilità"
+msgstr "Possibilità"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Access Wi-Fi"
-msgstr "Accedi"
+msgstr "Accesso al Wi-Fi"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Push Notifications"
-msgstr "Rotazione Casuale:"
+msgstr "Notifiche Push"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "User Data"
-msgstr "Interfaccia Utente"
+msgstr "Dati Utente"
#: platform/iphone/export/export.cpp
msgid "Accessible From Files App"
-msgstr ""
+msgstr "Accessibile dall'Applicazione File"
#: platform/iphone/export/export.cpp
msgid "Accessible From iTunes Sharing"
-msgstr ""
+msgstr "Accessibile dalla condivisione di iTunes"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Privacy"
-msgstr "Tasto Fisico"
+msgstr "Privacy"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Camera Usage Description"
-msgstr "Descrizione"
+msgstr "Descrizione Utilizzo Camera"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Microphone Usage Description"
-msgstr "Descrizioni delle proprietà"
+msgstr "Descrizione Utilizzo Microfono"
#: platform/iphone/export/export.cpp
#, fuzzy
msgid "Photolibrary Usage Description"
-msgstr "Descrizioni delle proprietà"
+msgstr "Descrizione Utilizzo Fotolibreria"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
-msgstr ""
+msgstr "iPhone 120 x 120"
#: platform/iphone/export/export.cpp
msgid "iPhone 180 X 180"
-msgstr ""
+msgstr "iPhone 180 x 180"
#: platform/iphone/export/export.cpp
msgid "iPad 76 X 76"
-msgstr ""
+msgstr "iPad 76 x 76"
#: platform/iphone/export/export.cpp
msgid "iPad 152 X 152"
-msgstr ""
+msgstr "iPad 152 x 152"
#: platform/iphone/export/export.cpp
msgid "iPad 167 X 167"
-msgstr ""
+msgstr "iPad 167 x 167"
#: platform/iphone/export/export.cpp
msgid "App Store 1024 X 1024"
-msgstr ""
+msgstr "App Store 1024 x 1024"
#: platform/iphone/export/export.cpp
msgid "Spotlight 40 X 40"
-msgstr ""
+msgstr "Spotlight 40 X 40"
#: platform/iphone/export/export.cpp
msgid "Spotlight 80 X 80"
-msgstr ""
+msgstr "Spotlight 80 X 80"
#: platform/iphone/export/export.cpp
msgid "Storyboard"
-msgstr ""
+msgstr "Storyboard"
#: platform/iphone/export/export.cpp
msgid "Use Launch Screen Storyboard"
-msgstr ""
+msgstr "Usa schermata di avvio Storyboard"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Image Scale Mode"
-msgstr "Modalità scala"
+msgstr "Modalità di ridimensionamento dell'immagine"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom Image @2x"
-msgstr "Immagine Personalizzata"
+msgstr "Immagine Personalizzata @2x"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom Image @3x"
-msgstr "Immagine Personalizzata"
+msgstr "Immagine Personalizzata @3x"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Use Custom BG Color"
-msgstr "Taglia nodi"
+msgstr "Utilizza Colore di Sfondo Personalizzato"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom BG Color"
-msgstr "Taglia nodi"
+msgstr "Colore di Sfondo Personalizzato"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Icons"
-msgstr "Espandi Tutto"
+msgstr "Icone Esportazione"
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Prepare Templates"
-msgstr "Gestisci i modelli d'esportazione"
+msgstr "Prepara i modelli d'esportazione"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Export template not found."
-msgstr "Modello di rilascio personalizzato non trovato."
+msgstr "Modello di esportazione non trovato."
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
@@ -19364,122 +19287,110 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Esegui il codice HTML esportato nel browser di sistema predefinito."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not open template for export: \"%s\"."
-msgstr "Impossibile aprire il template per l'esportazione:"
+msgstr "Non è stato possibile aprire il modello per l'esportazione: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Invalid export template: \"%s\"."
-msgstr "Template di esportazione non valido:"
+msgstr "Modello di esportazione non valido: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not write file: \"%s\"."
-msgstr "Impossibile scrivere il file:"
+msgstr "Non è stato possibile scrivere il file: \"%s\"."
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Icon Creation"
-msgstr "Imposta Margine"
+msgstr "Creazione Icona"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not read file: \"%s\"."
-msgstr "Impossibile leggere il file:"
+msgstr "Non è stato possibile leggere il file: \"%s\"."
#: platform/javascript/export/export.cpp
msgid "PWA"
-msgstr ""
+msgstr "PWA"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Variant"
-msgstr "Separazione:"
+msgstr "Variante"
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Export Type"
-msgstr "Esporta"
+msgstr "Tipo di Esportazione"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "VRAM Texture Compression"
-msgstr "Cambia espressione"
+msgstr "Compressione Texture VRAM"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
-msgstr ""
+msgstr "Per il Desktop"
#: platform/javascript/export/export.cpp
msgid "For Mobile"
-msgstr ""
+msgstr "Per dispositivi mobile"
#: platform/javascript/export/export.cpp
msgid "HTML"
-msgstr ""
+msgstr "HTML"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Icon"
-msgstr "Espandi Tutto"
+msgstr "Icona di Esportazione"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Custom HTML Shell"
-msgstr "Taglia nodi"
+msgstr "Shell HTML Personalizzato"
#: platform/javascript/export/export.cpp
msgid "Head Include"
-msgstr ""
+msgstr "Includi head"
#: platform/javascript/export/export.cpp
msgid "Canvas Resize Policy"
-msgstr ""
+msgstr "Regole di ridimensionamento canvas"
#: platform/javascript/export/export.cpp
msgid "Focus Canvas On Start"
-msgstr ""
+msgstr "Evidenzia Canvas all'avvio"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Experimental Virtual Keyboard"
-msgstr "Filtra segnali"
+msgstr "Tastiera Virtuale Sperimentale"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
-msgstr ""
+msgstr "Applicazione Web progressiva"
#: platform/javascript/export/export.cpp
msgid "Offline Page"
-msgstr ""
+msgstr "Pagina Offline"
#: platform/javascript/export/export.cpp
msgid "Icon 144 X 144"
-msgstr ""
+msgstr "Icona 144 x 144"
#: platform/javascript/export/export.cpp
msgid "Icon 180 X 180"
-msgstr ""
+msgstr "Icona 180 x 180"
#: platform/javascript/export/export.cpp
msgid "Icon 512 X 512"
-msgstr ""
+msgstr "Icona 512 x 512"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not read HTML shell: \"%s\"."
-msgstr "Impossibile leggere la shell HTML:"
+msgstr "Non è stato possibile leggere lo shell HTML: \"%s\"."
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Could not create HTTP server directory: %s."
-msgstr "Impossibile creare la directory per il server HTTP:"
+msgstr "Impossibile creare la cartella per il server HTTP: %s."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Error starting HTTP server: %d."
-msgstr "Errore all'avvio del server HTTP:"
+msgstr "Errore all'avvio del server HTTP: %d."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19487,69 +19398,63 @@ msgstr "Web"
#: platform/javascript/export/export.cpp
msgid "HTTP Host"
-msgstr ""
+msgstr "Host HTTP"
#: platform/javascript/export/export.cpp
msgid "HTTP Port"
-msgstr ""
+msgstr "Porta HTTP"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Use SSL"
-msgstr "Usa Scatto"
+msgstr "Usa SSL"
#: platform/javascript/export/export.cpp
msgid "SSL Key"
-msgstr ""
+msgstr "Chiave SSL"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Non si può avere accesso al filesystem."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Recupero dell'hash di Info.plist fallito."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Nome del progetto non valido."
+msgstr "Invalido Info.plist, nessun nome exe."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Info.plist invalido, nessun bundle id."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Geometria non valida, impossibile creare il poligono."
+msgstr "Info.plist non valido, impossibile caricare."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Impossibile creare la cartella."
+msgstr "Impossibile creare la sottocartella \"%s\"."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Estrazione del file binario fallito."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Percorso di base non valido."
+msgstr "Formato eseguibile non valido."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Già firmato!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Caricamento della risorsa fallito."
+msgstr "Elaborazione risorse nidificate fallito."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Creazione sottocartella _CodeSignature fallita."
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -19557,53 +19462,48 @@ msgid "Failed to get CodeResources hash."
msgstr "Caricamento della risorsa fallito."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Estensione non valida."
+msgstr "File di permessi non valido."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Estensione non valida."
+msgstr "File eseguibile non valido."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Impossibile ridimensionare il comando caricamento firma."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Creazione del file binario fat fallito."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Tipo di bundle sconosciuto."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Tipo di oggetto sconosciuto."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "App Category"
-msgstr "Categoria:"
+msgstr "Categoria Applicazione"
#: platform/osx/export/export.cpp
msgid "High Res"
-msgstr ""
+msgstr "Alta Risoluzione"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location Usage Description"
-msgstr "Descrizione"
+msgstr "Descrizione d'uso Posizione"
#: platform/osx/export/export.cpp
msgid "Address Book Usage Description"
-msgstr ""
+msgstr "Descrizione d'uso Rubrica"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Calendar Usage Description"
-msgstr "Descrizione"
+msgstr "Descrizione d'uso Calendario"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19611,37 +19511,33 @@ msgid "Photos Library Usage Description"
msgstr "Descrizioni delle proprietà"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Desktop Folder Usage Description"
-msgstr "Descrizioni del metodo"
+msgstr "Descrizione d'uso Cartella Desktop"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Documents Folder Usage Description"
-msgstr "Descrizioni del metodo"
+msgstr "Descrizione d'uso Cartella Documenti"
#: platform/osx/export/export.cpp
msgid "Downloads Folder Usage Description"
-msgstr ""
+msgstr "Descrizione d'uso Cartella Downloads"
#: platform/osx/export/export.cpp
msgid "Network Volumes Usage Description"
-msgstr ""
+msgstr "Descrizione d'uso Volumi di Rete"
#: platform/osx/export/export.cpp
msgid "Removable Volumes Usage Description"
-msgstr ""
+msgstr "Descrizione d'uso Volumi Rimovibili"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Codesign"
-msgstr "Nodo"
+msgstr "Firma del codice"
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Identity"
-msgstr "Indenta"
+msgstr "Identità"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
@@ -19653,59 +19549,52 @@ msgid "Hardened Runtime"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Replace Existing Signature"
-msgstr "Sostituisci nei file"
+msgstr "Sostituisci firma esistente"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Entitlements"
-msgstr "Gizmos"
+msgstr "Permessi"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Custom File"
-msgstr "Taglia nodi"
+msgstr "File Personalizzato"
#: platform/osx/export/export.cpp
msgid "Allow JIT Code Execution"
-msgstr ""
+msgstr "Consenti l'esecuzione di codice JIT"
#: platform/osx/export/export.cpp
msgid "Allow Unsigned Executable Memory"
-msgstr ""
+msgstr "Consenti memoria eseguibile non firmata"
#: platform/osx/export/export.cpp
msgid "Allow Dyld Environment Variables"
-msgstr ""
+msgstr "Consenti variabili d'ambiente Dyld"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Disable Library Validation"
-msgstr "Pulsante disabilitato"
+msgstr "Disabilita Convalida Libreria"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Audio Input"
-msgstr "Aggiungi Input"
+msgstr "Ingresso Audio"
#: platform/osx/export/export.cpp
msgid "Address Book"
-msgstr ""
+msgstr "Rubrica"
#: platform/osx/export/export.cpp
msgid "Calendars"
-msgstr ""
+msgstr "Calendari"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library"
-msgstr "Esporta Libreria"
+msgstr "Libreria Foto"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Apple Events"
-msgstr "Aggiungi Evento"
+msgstr "Eventi Apple"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19714,60 +19603,51 @@ msgstr "Debug"
#: platform/osx/export/export.cpp
msgid "App Sandbox"
-msgstr ""
+msgstr "Applicazione Sandbox"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Server"
-msgstr "Peer di Rete"
+msgstr "Server di Rete"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Client"
-msgstr "Peer di Rete"
+msgstr "Client di Rete"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Device USB"
-msgstr "Dispositivo"
+msgstr "Dispositivo USB"
#: platform/osx/export/export.cpp
msgid "Device Bluetooth"
-msgstr ""
+msgstr "Dispositivo Bluetooth"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Downloads"
-msgstr "Scarica"
+msgstr "File scaricati"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Pictures"
-msgstr "Funzionalità"
+msgstr "File Immagini"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Music"
-msgstr "Files"
+msgstr "File Audio"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Movies"
-msgstr "Filtra tiles"
+msgstr "File Video"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Custom Options"
-msgstr "Opzioni Bus"
+msgstr "Opzioni personalizzate"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization"
-msgstr "Localizzazione"
+msgstr "Autenticazione"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
-msgstr ""
+msgstr "Nome Apple ID"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19789,9 +19669,8 @@ msgid "Could not start xcrun executable."
msgstr "Impossibile avviare l'eseguibile xcrun."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization failed."
-msgstr "Localizzazione"
+msgstr "Autenticazione fallita."
#: platform/osx/export/export.cpp
msgid "Notarization request UUID: \"%s\""
@@ -19802,22 +19681,30 @@ msgid ""
"The notarization process generally takes less than an hour. When the process "
"is completed, you'll receive an email."
msgstr ""
+"Il processo di autenticazione impiega generalmente meno di un'ora. Riceverai "
+"una email quando il processo sarà concluso."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Puoi controllare manualmente l'avanzamento aprendo il Terminale e lanciando "
+"il seguente comando:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Lancia il seguente comando per agganciare il ticket di notarizzazione "
+"all'applicazione esportata (opzionale):"
#: platform/osx/export/export.cpp
msgid "Timestamping is not compatible with ad-hoc signature, and was disabled!"
msgstr ""
+"La visualizzazione dell'orario non è compatibile con la firma ad-hoc, ed è "
+"stata disabilitata!"
#: platform/osx/export/export.cpp
msgid ""
@@ -19826,17 +19713,19 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Built-in CodeSign failed with error \"%s\"."
-msgstr ""
+msgstr "Firma del codice incorporata fallita con errore \"%s\"."
#: platform/osx/export/export.cpp
msgid "Built-in CodeSign require regex module."
-msgstr ""
+msgstr "La firma del codice incorporata richiede il modulo regex."
#: platform/osx/export/export.cpp
msgid ""
"Could not start codesign executable, make sure Xcode command line tools are "
"installed."
msgstr ""
+"Non è stato possibile lanciare l'eseguibile di firma del codice, controllare "
+"che gli strumenti da linea di comando di Xcode siano installati."
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
@@ -19851,11 +19740,12 @@ msgstr "Errore nel salvataggio del file: %s"
#: platform/osx/export/export.cpp
msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
msgstr ""
+"I link simbolici relativi non sono supportati, \"%s\" esportato potrebbe "
+"essere danneggiato!"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "DMG Creation"
-msgstr "Direzione"
+msgstr "Creazione del DMG"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19864,79 +19754,83 @@ msgstr "Impossibile avviare l'eseguibile hdiutil."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed - file exists."
-msgstr ""
+msgstr "`hdutil create` fallito - Il file già esiste."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed."
-msgstr ""
+msgstr "`hdutil create` fallito."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Creando la miniatura"
+msgstr "Creando il pacchetto dell'app"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export: \"%s\"."
-msgstr "Impossibile trovare il template dell'app per l'esportazione:"
+msgstr "Impossibile trovare il template dell'app per l'esportazione:\"%s\"."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid export format."
-msgstr "Template di esportazione non valido:"
+msgstr "Formato di esportazione invalido."
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"I link simbolici relativi non sono supportati in questo Sistema Operativo, "
+"il progetto esportato potrebbe essere danneggiato!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
msgstr ""
+"Il modello di eseguibile \"%s\" richiesto non è stato trovato. Potrebbe "
+"essere mancante dal tuo archivio dei modelli."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Creando il PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Le applicazioni firmate ad-hoc richiedono il permesso \"Disabilita verifica "
+"libreria\" per caricare le librerie dinamiche."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Pacchetto di firma del codice"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Creando il DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "Firmando il codice DMG"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Creando lo ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"La notarizazzione richiede che l'app sia prima archiviata, seleziona invece "
+"il formato di esportazione DMG o ZIP."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Inviando l'archivio per l'autenticazione"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "ZIP Creation"
-msgstr "Proiezione"
+msgstr "Creazione dello ZIP"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19952,16 +19846,22 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Warning: \"firma del codice\" integrato è selezionato nelle impostazioni "
+"dell'editor. La firma del codice è limitata solo alle firme ad-hoc."
#: platform/osx/export/export.cpp
msgid ""
"Warning: Xcode command line tools are not installed, using built-in "
"\"codesign\". Code signing is limited to ad-hoc signature only."
msgstr ""
+"Warning: gli strumenti da linea di comando di Xcode non sono installati, "
+"usando la \"firma del codice\" integrata. La firma del codice è limitata "
+"solo alle firme ad-hoc."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
msgstr ""
+"Autenticazione: L'autenticazione con una firma ad-hoc non è supportata."
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19991,12 +19891,16 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Warning: l'autenticazione è disabilitata. Il progetto esportato sarà "
+"bloccato dal Gatekeeper is è scaricato da una sorgente sconosciuta."
#: platform/osx/export/export.cpp
msgid ""
"Code signing is disabled. The exported project will not run on Macs with "
"enabled Gatekeeper and Apple Silicon powered Macs."
msgstr ""
+"La firma del codice è disabilitata. Il progetto esportato non verrà eseguito "
+"su Mac con Gatekeeper abilitato e Mac alimentati da Apple Silicon."
#: platform/osx/export/export.cpp
msgid ""
@@ -20008,23 +19912,32 @@ msgstr ""
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"La stampa dell'ora non è compatibile con la firma ad-hoc, e sarà "
+"disabilitata!"
#: platform/osx/export/export.cpp
msgid ""
"Warning: Notarization is not supported from this OS. The exported project "
"will be blocked by Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Warning: la notarizzazione non è supportata da questo Sistema Operativo. Il "
+"progetto esportato sarà bloccato da Gatekeeper se è scaricato da una "
+"sorgente sconosciuta."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacy: L'accesso al microfono è abilitato, ma la descrizione dell'uso non "
+"è specificata."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Privacy: L'accesso alla Camera è abilitato, ma la descrizione d'uso non è "
+"specificata."
#: platform/osx/export/export.cpp
msgid ""
@@ -20062,6 +19975,7 @@ msgid "Architecture"
msgstr "Architettura"
#: platform/uwp/export/export.cpp
+#, fuzzy
msgid "Display Name"
msgstr "Nome Display"
@@ -20123,7 +20037,7 @@ msgstr "Cambia espressione"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "Panorama"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20200,6 +20114,7 @@ msgid "Invalid package unique name."
msgstr "Nome univoco del pacchetto non valido."
#: platform/uwp/export/export.cpp
+#, fuzzy
msgid "Invalid package publisher display name."
msgstr "Nome visualizzato del publisher del pacchetto invalido."
@@ -20262,9 +20177,8 @@ msgid "UWP"
msgstr "UWP"
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Signtool"
-msgstr "Signtool"
+msgstr "Strumento di segno"
#: platform/uwp/export/export.cpp
msgid "Debug Certificate"
@@ -20440,7 +20354,7 @@ msgstr "Osslsigncode"
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr "Wine"
+msgstr "Vino"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20458,13 +20372,13 @@ msgid ""
"order for AnimatedSprite to display frames."
msgstr ""
"Una risorsa SpriteFrames deve essere creata o impostata nella proprietà "
-"\"Frames\" per permettere a AnimatedSprite di visualizzare i frame."
+"\"Frames\" per permettere all'AnimatedSprite di visualizzare i frame."
#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
#, fuzzy
msgid "Speed Scale"
-msgstr "Scala"
+msgstr "Scala della velocità"
#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
@@ -20516,7 +20430,7 @@ msgstr "Genera punti"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
msgid "Gravity Distance Scale"
-msgstr "Istanza"
+msgstr "Scala della distanza della gravità"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20559,7 +20473,7 @@ msgstr "Volume"
#: servers/audio/effects/audio_effect_pitch_shift.cpp
#, fuzzy
msgid "Pitch Scale"
-msgstr "Scala"
+msgstr "Scala del tono"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
@@ -21389,7 +21303,6 @@ msgid "Antialiased"
msgstr "Inizializza"
#: scene/2d/multimesh_instance_2d.cpp scene/3d/multimesh_instance.cpp
-#, fuzzy
msgid "Multimesh"
msgstr "Multimesh"
@@ -21484,7 +21397,6 @@ msgstr ""
"poligono."
#: scene/2d/navigation_polygon.cpp
-#, fuzzy
msgid "Navpoly"
msgstr "Navpoly"
@@ -21530,7 +21442,7 @@ msgstr "Scatti relativi"
#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Scroll"
-msgstr ""
+msgstr "Scorrere"
#: scene/2d/parallax_background.cpp
#, fuzzy
@@ -21841,7 +21753,7 @@ msgstr ""
#: scene/2d/polygon_2d.cpp
msgid "Invert"
-msgstr ""
+msgstr "Invertire"
#: scene/2d/polygon_2d.cpp
#, fuzzy
@@ -21921,12 +21833,10 @@ msgstr ""
"Skeleton2D e impostane una."
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Hframes"
msgstr "Hframes"
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Vframes"
msgstr "Vframes"
@@ -22328,9 +22238,8 @@ msgid "Projection"
msgstr "Proiezione"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "FOV"
-msgstr "FOV"
+msgstr "Campo Visivo"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22530,7 +22439,6 @@ msgstr ""
"Per rimuovere questo avviso, disattiva la proprietà Compress di GIProbe."
#: scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Subdiv"
msgstr "Subdiv"
@@ -22597,9 +22505,8 @@ msgstr "Forza Modulazione Bianca"
#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Font"
-msgstr "Font"
+msgstr "Carattere"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -22683,7 +22590,6 @@ msgid "Depth Range"
msgstr "Profondità"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Omni"
msgstr "Omni"
@@ -23758,6 +23664,16 @@ msgstr "Errore"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordina"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "Usa Ambiente"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -24241,6 +24157,7 @@ msgid "Theme Overrides"
msgstr "Sovrascrizioni"
#: scene/gui/control.cpp
+#, fuzzy
msgid ""
"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
@@ -24406,7 +24323,7 @@ msgstr "Mostra Ossa"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Minimappa"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
@@ -25269,9 +25186,8 @@ msgid "Use 32 BPC Depth"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Default Environment"
-msgstr "Mostra Ambiente"
+msgstr "Ambiente predefinito"
#: scene/main/scene_tree.cpp
msgid ""
@@ -27506,9 +27422,8 @@ msgid "Invalid comparison function for that type."
msgstr "Funzione di confronto non valida per quel tipo."
#: scene/resources/world.cpp
-#, fuzzy
msgid "Fallback Environment"
-msgstr "Mostra Ambiente"
+msgstr "Ambiente di ripiego"
#: scene/resources/world.cpp
#, fuzzy
@@ -27821,9 +27736,8 @@ msgid "Feed"
msgstr ""
#: servers/camera/camera_feed.cpp
-#, fuzzy
msgid "Is Active"
-msgstr "Prospettica"
+msgstr "È attiva"
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Sleep Threshold Linear"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index 2570cb6288..dc17329ba7 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -43,13 +43,17 @@
# fadhliazhari <m.fadhliazhari@gmail.com>, 2022.
# Chia-Hsiang Cheng <cche0109@student.monash.edu>, 2022.
# meko <hirono.yoneyama@outlook.com>, 2022.
+# Fire Dingo <snowsable113@icloud.com>, 2022.
+# Narazaki Shuji <shujinarazaki@protonmail.com>, 2022.
+# ta ko <neji.cion@gmail.com>, 2022.
+# T K <kidaaam@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: nitenook <admin@alterbaum.net>\n"
+"PO-Revision-Date: 2022-12-13 13:21+0000\n"
+"Last-Translator: T K <kidaaam@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
"Language: ja\n"
@@ -57,7 +61,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -480,7 +484,6 @@ msgid "Pressure"
msgstr "圧力"
#: core/os/input_event.cpp
-#, fuzzy
msgid "Pen Inverted"
msgstr "ペンå転"
@@ -906,9 +909,8 @@ msgid "Resource"
msgstr "リソース"
#: core/resource.cpp
-#, fuzzy
msgid "Local To Scene"
-msgstr "シーンを閉ã˜ã‚‹"
+msgstr "シーンã§å›ºæœ‰"
#: core/resource.cpp editor/dependency_editor.cpp
#: editor/editor_autoload_settings.cpp editor/plugins/path_editor_plugin.cpp
@@ -1050,12 +1052,10 @@ msgid "Scale"
msgstr "スケール"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Follow Surface"
msgstr "サーフェスをフォローã™ã‚‹"
#: drivers/gles3/rasterizer_scene_gles3.cpp
-#, fuzzy
msgid "Weight Samples"
msgstr "é‡é‡ã‚µãƒ³ãƒ—ル"
@@ -1365,14 +1365,12 @@ msgid "Easing:"
msgstr "イージング:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In-Handle:"
-msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’設定ã™ã‚‹"
+msgstr "インãƒãƒ³ãƒ‰ãƒ«:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out-Handle:"
-msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’設定ã™ã‚‹"
+msgstr "アウトãƒãƒ³ãƒ‰ãƒ«:"
#: editor/animation_track_editor.cpp
msgid "Stream:"
@@ -1645,9 +1643,8 @@ msgid ""
msgstr "ã“ã®ã‚ªãƒ—ションã¯å˜ä¸€ãƒˆãƒ©ãƒƒã‚¯ã§ã®ãƒ™ã‚¸ã‚§ç·¨é›†ã§ã¯æ©Ÿèƒ½ã—ã¾ã›ã‚“。"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Add RESET Keys"
-msgstr "アニメーションキーã®æ‹¡ç¸®"
+msgstr "リセットキーã®è¿½åŠ "
#: editor/animation_track_editor.cpp
msgid ""
@@ -3377,7 +3374,6 @@ msgid "ScanSources"
msgstr "スキャンソース"
#: editor/editor_file_system.cpp
-#, fuzzy
msgid ""
"There are multiple importers for different types pointing to file %s, import "
"aborted"
@@ -3600,14 +3596,12 @@ msgid "Checked"
msgstr "ãƒã‚§ãƒƒã‚¯æ¸ˆã¿"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Draw Red"
-msgstr "ドローコール:"
+msgstr "赤色ã§æç”»"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Keying"
-msgstr "実行"
+msgstr "キーイング"
#: editor/editor_inspector.cpp
msgid "Pin value"
@@ -4340,9 +4334,8 @@ msgid "Update Continuously"
msgstr "継続的ã«æ›´æ–°"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Only"
-msgstr "マテリアルã®å¤‰æ›´:"
+msgstr "é‡è¦ãªå¤‰æ›´ç‚¹ã®ã¿ã‚’æ›´æ–°"
#: editor/editor_node.cpp
msgid "Localize Settings"
@@ -4377,12 +4370,10 @@ msgid "Auto Unfold Foreign Scenes"
msgstr "外部シーンã®è‡ªå‹•å±•é–‹"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Horizontal Vector2 Editing"
msgstr "水平ベクトル2編集"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Horizontal Vector Types Editing"
msgstr "水平ベクトルタイプ編集"
@@ -5189,9 +5180,8 @@ msgstr "æ–°è¦ %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "基底型を変更"
+msgstr "基底型"
#: editor/editor_resource_picker.cpp
msgid "Edited Resource"
@@ -5297,7 +5287,6 @@ msgid "Dim Editor On Dialog Popup"
msgstr "ダイアログã®ãƒãƒƒãƒ—アップ時ã«ã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã‚’è–„æš—ãã™ã‚‹"
#: editor/editor_settings.cpp main/main.cpp
-#, fuzzy
msgid "Low Processor Mode Sleep (µsec)"
msgstr "低プロセッサ モード スリープ (マイクロ秒)"
@@ -5307,16 +5296,14 @@ msgid "Unfocused Low Processor Mode Sleep (µsec)"
msgstr "フォーカスã•ã‚Œã¦ã„ãªã„低プロセッサ モード スリープ (マイクロ秒)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "集中モード"
+msgstr "集中モードを分離ã™ã‚‹"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
msgstr "自動的ã«ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’é–‹ã"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Max Array Dictionary Items Per Page"
msgstr "ページã‚ãŸã‚Šã®æœ€å¤§é…列辞書項目数"
@@ -5347,7 +5334,6 @@ msgid "Contrast"
msgstr "コントラスト"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Relationship Line Opacity"
msgstr "関係線ã®ä¸é€æ˜Žåº¦"
@@ -5397,9 +5383,8 @@ msgid "Compress Binary Resources"
msgstr "ãƒã‚¤ãƒŠãƒªãƒªã‚½ãƒ¼ã‚¹ã®åœ§ç¸®"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Safe Save On Backup Then Rename"
-msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—時ã«å®‰å…¨ã«ä¿å­˜ã—ã¦ã‹ã‚‰åå‰ã‚’変更ã™ã‚‹"
+msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¨ã—ã¦åå‰ã‚’変更ã—ã¦ã‹ã‚‰å®‰å…¨ã«ä¿å­˜ã™ã‚‹"
#: editor/editor_settings.cpp
msgid "File Dialog"
@@ -5434,9 +5419,8 @@ msgid "Auto Refresh Interval"
msgstr "自動リフレッシュã®é–“éš”"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "サブリソース"
+msgstr "サブリソースã®è‰²ç›¸ãƒ»è‰²åˆã„"
#: editor/editor_settings.cpp
msgid "Color Theme"
@@ -5512,9 +5496,8 @@ msgid "Minimap Width"
msgstr "ミニマップã®å¹…"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Mouse Extra Buttons Navigate History"
-msgstr "マウス追加ボタンナビゲート履歴"
+msgstr "マウスã®è¿½åŠ ãƒœã‚¿ãƒ³ã§å±¥æ­´ã‚’表示"
#: editor/editor_settings.cpp
msgid "Drag And Drop Selection"
@@ -5537,19 +5520,16 @@ msgid "Line Numbers Zero Padded"
msgstr "行番å·ã‚’ゼロ埋ã‚"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Bookmark Gutter"
-msgstr "ブックマークガターを表示"
+msgstr "ブックマークãƒãƒ¼ã‚’表示"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Breakpoint Gutter"
-msgstr "ブレークãƒã‚¤ãƒ³ãƒˆã‚’スキップã™ã‚‹"
+msgstr "ブレークãƒã‚¤ãƒ³ãƒˆãƒãƒ¼ã‚’表示"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Info Gutter"
-msgstr "情報ガターを表示"
+msgstr "情報ãƒãƒ¼ã‚’表示"
#: editor/editor_settings.cpp
msgid "Code Folding"
@@ -5564,23 +5544,20 @@ msgid "Show Line Length Guidelines"
msgstr "è¡Œã®é•·ã•ã®ã‚¬ã‚¤ãƒ‰ç·šã‚’表示"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Length Guideline Soft Column"
-msgstr "行長ガイドラインソフト列"
+msgstr "è¡Œã®é•·ã•ã®ã‚½ãƒ•ãƒˆã‚¬ã‚¤ãƒ‰ãƒ©ã‚¤ãƒ³"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Line Length Guideline Hard Column"
-msgstr "行長ガイドライン ãƒãƒ¼ãƒ‰åˆ—"
+msgstr "è¡Œã®é•·ã•ã®ãƒãƒ¼ãƒ‰ã‚¬ã‚¤ãƒ‰ãƒ©ã‚¤ãƒ³"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Script List"
msgstr "スクリプト一覧"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Members Overview"
-msgstr "メンãƒãƒ¼æ¦‚è¦ã‚’表示"
+msgstr "クラスメンãƒãƒ¼ã®æ¦‚è¦ã‚’表示"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Files"
@@ -5611,9 +5588,8 @@ msgid "Create Signal Callbacks"
msgstr "シグナルã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’作æˆ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Sort Members Outline Alphabetically"
-msgstr "メンãƒãƒ¼ã®ã‚¢ã‚¦ãƒˆãƒ©ã‚¤ãƒ³ã‚’アルファベット順ã«ä¸¦ã¹æ›¿ãˆã‚‹"
+msgstr "クラスメンãƒãƒ¼ã®æ¦‚è¦ã‚’アルファベット順ã«ä¸¦ã¹ã‚‹"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
@@ -5643,7 +5619,7 @@ msgstr "å³ã‚¯ãƒªãƒƒã‚¯ã§ã‚­ãƒ£ãƒ¬ãƒƒãƒˆã‚’移動"
#: modules/gdscript/gdscript_editor.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Completion"
-msgstr "完了"
+msgstr "自動補完"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
@@ -5670,9 +5646,8 @@ msgid "Complete File Paths"
msgstr "ファイルパスã®è£œå®Œ"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "タイプを追加"
+msgstr "型ヒントを追加"
#: editor/editor_settings.cpp
msgid "Use Single Quotes"
@@ -5699,9 +5674,8 @@ msgid "Grid Map"
msgstr "グリッドマップ"
#: editor/editor_settings.cpp modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Pick Distance"
-msgstr "è·é›¢ã‚’å–å¾—:"
+msgstr "è·é›¢ã‚’é¸æŠž"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Preview Size"
@@ -5749,9 +5723,8 @@ msgid "Shape"
msgstr "シェイプ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "グリッドã®ã‚¹ãƒ†ãƒƒãƒ—:"
+msgstr "プライマリグリッドã®ã‚¹ãƒ†ãƒƒãƒ—æ•°"
#: editor/editor_settings.cpp
msgid "Grid Size"
@@ -6899,14 +6872,12 @@ msgid "Collada"
msgstr "Collada"
#: editor/import/editor_import_collada.cpp
-#, fuzzy
msgid "Use Ambient"
msgstr "アンビエントを使用"
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "フォルダーを作æˆ"
+msgstr "作æˆå…ƒ"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
@@ -6927,7 +6898,7 @@ msgstr "区切り文字"
#: editor/import/resource_importer_layered_texture.cpp
msgid "ColorCorrect"
-msgstr "ColorCorrect"
+msgstr "カラーコレクト"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
@@ -6960,7 +6931,6 @@ msgstr "ミップマップ"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Anisotropic"
msgstr "異方性"
@@ -6992,9 +6962,8 @@ msgid "Generate Tangents"
msgstr "接線を生æˆ"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "スケールモード"
+msgstr "スケールメッシュ"
#: editor/import/resource_importer_obj.cpp
msgid "Offset Mesh"
@@ -7002,14 +6971,12 @@ msgstr "メッシュã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "圧縮"
+msgstr "å…«é¢ä½“圧縮"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Optimize Mesh Flags"
-msgstr "サイズ: "
+msgstr "メッシュ最é©åŒ–フラグ"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
@@ -7069,9 +7036,8 @@ msgid "Root Scale"
msgstr "ルートã®ã‚¹ã‚±ãƒ¼ãƒ«"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "ノードを切りå–ã‚‹"
+msgstr "カスタムスクリプト"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
msgid "Storage"
@@ -7086,28 +7052,24 @@ msgid "Materials"
msgstr "マテリアル"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
+msgstr "å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆæ™‚ã«ä¿æŒ(Keep On Reimport)"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Meshes"
msgstr "メッシュ"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "接線を計算"
+msgstr "接線ã®ç¢ºä¿"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "ライトマップ"
+msgstr "ライトベーキング(Light Baking)"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "ライトマップを焼ã込む"
+msgstr "ライトマップã®ãƒ†ã‚¯ã‚»ãƒ«ã‚µã‚¤ã‚º"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
@@ -7130,14 +7092,12 @@ msgid "Filter Script"
msgstr "スクリプトを絞り込む"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "トランスフォーム"
+msgstr "カスタムトラックをä¿æŒ"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "最é©åŒ–"
+msgstr "オプティマイザー(Optimizer)"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7155,19 +7115,16 @@ msgid "Enabled"
msgstr "有効"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Linear Error"
-msgstr "最大。線形エラー:"
+msgstr "最大リニアエラー"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angular Error"
-msgstr "最大。角度エラー:"
+msgstr "最大角度エラー"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "値"
+msgstr "最大角度"
#: editor/import/resource_importer_scene.cpp
msgid "Remove Unused Tracks"
@@ -7197,9 +7154,8 @@ msgid "Generating Lightmaps"
msgstr "ライトマップã®ç”Ÿæˆ"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Generating for Mesh:"
-msgstr "メッシュã®ç”Ÿæˆ: "
+msgstr "メッシュã®ç”Ÿæˆ:"
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -7227,38 +7183,33 @@ msgid "Saving..."
msgstr "ä¿å­˜ä¸­..."
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid ""
"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
-"%s: 3Dã§æ³•ç·šãƒžãƒƒãƒ—ã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¦ã„るテクスãƒãƒ£ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸã€‚赤緑テクス"
-"ãƒãƒ£åœ§ç¸®ã‚’有効ã«ã—ã¦ãƒ¡ãƒ¢ãƒªä½¿ç”¨é‡ã‚’削減ã—ã¾ã™ï¼ˆé’ãƒãƒ£ãƒ³ãƒãƒ«ã¯ã™ã§ã«ç ´æ£„ã•ã‚Œã¾"
-"ã—ãŸï¼‰ã€‚"
+"%s: 3Dã§æ³•ç·šãƒžãƒƒãƒ—ã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¦ã„るテクスãƒãƒ£ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸã€‚赤ã¨ç·‘ã®ãƒ†"
+"クスãƒãƒ£åœ§ç¸®ã‚’有効ã«ã—ã¦ãƒ¡ãƒ¢ãƒªä½¿ç”¨é‡ã‚’削減ã—ã¾ã™ï¼ˆé’ãƒãƒ£ãƒ³ãƒãƒ«ã¯ç ´æ£„ã•ã‚Œã¾"
+"ã™ï¼‰ã€‚"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid ""
"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
"generation and VRAM texture compression."
msgstr ""
-"%s: 3Dã§ä½¿ç”¨ã•ã‚Œã¦ã„るテクスãƒãƒ£ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸã€‚フィルターã€ç¹°ã‚Šè¿”ã—ã€ãƒŸãƒƒ"
-"プマップ生æˆã€VRAMテクスãƒãƒ£åœ§ç¸®ã‚’有効ã«ã—ã¾ã™ã€‚"
+"%s: 3Dã§ä½¿ç”¨ã•ã‚Œã‚‹ãƒ†ã‚¯ã‚¹ãƒãƒ£ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸã€‚フィルターã€ç¹°ã‚Šè¿”ã—ã€ãƒŸãƒƒãƒ—"
+"マップ生æˆã€VRAMテクスãƒãƒ£åœ§ç¸®ã‚’有効ã«ã—ã¾ã™ã€‚"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D, Detect 3D"
msgstr "2Dã€3D検出"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
msgstr "2Dピクセル"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Lossy Quality"
-msgstr "æ失ã®ã‚ã‚‹å“質"
+msgstr "éžå¯é€†å“質"
#: editor/import/resource_importer_texture.cpp
msgid "HDR Mode"
@@ -7276,12 +7227,10 @@ msgid "Normal Map"
msgstr "法線マップ"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "å‰å‡¦ç†"
+msgstr "プロセス"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Fix Alpha Border"
msgstr "アルファボーダーを修正"
@@ -7296,21 +7245,18 @@ msgid "Hdr As Srgb"
msgstr "Srgbã¨ã—ã¦Hdr"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "頂点"
+msgstr "色ã®å転"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Normal Map Invert Y"
-msgstr "ランダムãªç¸®å°º:"
+msgstr "法線マップã®Yã‚’å転"
#: editor/import/resource_importer_texture.cpp
msgid "Size Limit"
msgstr "サイズ制é™"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Detect 3D"
msgstr "3Dを検出"
@@ -7335,19 +7281,16 @@ msgid "Import Mode"
msgstr "インãƒãƒ¼ãƒˆãƒ¢ãƒ¼ãƒ‰"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "タイル領域を設定"
+msgstr "領域ã«ã‚ã‚ã›ã¦ãƒˆãƒªãƒŸãƒ³ã‚°"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Trim Alpha Border From Region"
-msgstr "アルファ境界線を領域ã‹ã‚‰ãƒˆãƒªãƒŸãƒ³ã‚°"
+msgstr "領域ã‹ã‚‰ã‚¢ãƒ«ãƒ•ã‚¡ãƒœãƒ¼ãƒ€ãƒ¼ã‚’トリミング"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "強制プッシュ"
+msgstr "強制"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
@@ -7360,14 +7303,12 @@ msgid "Mono"
msgstr "Mono"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "ミックス ノード"
+msgstr "最大レート"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "ミックス ノード"
+msgstr "最大レート(Hz)"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
@@ -12888,9 +12829,8 @@ msgid "This property can't be changed."
msgstr "ã“ã®ãƒ—ロパティã¯å¤‰æ›´ã§ãã¾ã›ã‚“。"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
-msgstr "スナッピングオプション"
+msgstr "スナップオプション"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
@@ -12898,9 +12838,10 @@ msgstr "スナッピングオプション"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "オフセット"
@@ -12913,14 +12854,12 @@ msgstr "ステップ"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "分離:"
+msgstr "分離"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "é¸æŠž"
+msgstr "タイルã®é¸æŠž"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12933,9 +12872,8 @@ msgid "Texture"
msgstr "テクスãƒãƒ£"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "ãƒã‚¤ãƒˆã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ"
+msgstr "テクスãƒãƒ£ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12945,18 +12883,16 @@ msgstr "マテリアル"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "データã®æŠ•å…¥"
+msgstr "変調"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Tile Mode"
msgstr "タイルモード"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "ビットマスクモード"
+msgstr "オートタイル ビットマスクモード"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Subtile Size"
@@ -12975,44 +12911,36 @@ msgid "Navigation Offset"
msgstr "ナビゲーションã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "オフセット:"
+msgstr "シェイプオフセット"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "トランスフォーム"
+msgstr "シェイプトランスフォーム"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "コリジョンを使用"
+msgstr "コリジョンをé¸æŠž"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "é¸æŠžç¯„囲ã®ã¿"
+msgstr "片方å‘ã®ã‚³ãƒªã‚¸ãƒ§ãƒ³ã‚’é¸æŠž"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "BVHコリジョンマージン"
+msgstr "片方å‘ã®ã‚³ãƒªã‚¸ãƒ§ãƒ³ã®ãƒžãƒ¼ã‚¸ãƒ³"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "ナビゲーションを表示"
+msgstr "ナビゲーションをé¸æŠž"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "é¸æŠž"
+msgstr "オクルージョンã®é¸æŠž"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "スクリプトを絞り込む"
+msgstr "タイルセットスクリプト"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -14094,6 +14022,8 @@ msgstr "定義ã•ã‚ŒãŸã™ã¹ã¦ã®ãƒ—リセットã®ãƒ—ロジェクトをエク
#: editor/project_export.cpp
msgid "All presets must have an export path defined for Export All to work."
msgstr ""
+"å…¨ã¦ã®ãƒ—リセットã¯ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãŒå…¨ã¦æ©Ÿèƒ½ã™ã‚‹ãŸã‚ã«ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ‘スを定義ã™"
+"ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: editor/project_export.cpp
msgid "Delete preset '%s'?"
@@ -14312,16 +14242,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "無効ãªãƒ—ロジェクトパスã§ã™ (ãªã«ã‹å¤‰æ›´ãŒã‚ã‚Šã¾ã—ãŸã‹ï¼Ÿ)。"
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"プロジェクトパス㮠project.godot を読ã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸã€‚ (エラー %d)。見ã¤ã‹"
"らãªã„ã‹ç ´æã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚"
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "プロジェクトパス㮠project.godot を編集ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "次ã®å ´æ‰€ã®ãƒ—ロジェクトを開ã‘ã¾ã›ã‚“ '%s'。"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -15353,19 +15284,16 @@ msgid "Make Local"
msgstr "ローカルã«ã™ã‚‹"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name(s)"
-msgstr "ノードå:"
+msgstr "シーン固有åを有効ã«ã™ã‚‹"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Unique names already used by another node in the scene:"
-msgstr "ä»–ã®é–¢æ•°/変数/シグナルã«ã‚ˆã‚Šã™ã§ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹åå‰:"
+msgstr "固有åãŒã‚·ãƒ¼ãƒ³å†…ã®ä»–ã®ãƒŽãƒ¼ãƒ‰ã«æ—¢ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™:"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Disable Scene Unique Name(s)"
-msgstr "ノードå:"
+msgstr "シーン固有åを無効ã«ã™ã‚‹"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15441,7 +15369,7 @@ msgstr "サブリソース"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "シーン固有åã§ã‚¢ã‚¯ã‚»ã‚¹"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15541,18 +15469,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "継承をクリアã—ã¾ã™ã‹ï¼Ÿ (å…ƒã«æˆ»ã›ã¾ã›ã‚“ï¼)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "é¸æŠžå¯¾è±¡ã‚’中央ã«"
+msgstr "シーンツリーã®ãƒ«ãƒ¼ãƒˆé¸æŠžå¯¾è±¡ã‚’表示"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "åå‰ã«ã‚ˆã‚‹ã‚¹ã‚¯ãƒªãƒ—トグローãƒãƒ«ã®å°Žå‡º"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "é¸æŠžå¯¾è±¡ã‚’å…¨é¢ã«"
+msgstr "ãŠæ°—ã«å…¥ã‚Šã®ãƒ«ãƒ¼ãƒˆé¸æŠžå¯¾è±¡ã‚’使用"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15567,9 +15493,8 @@ msgid "Button Group"
msgstr "ボタングループ"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "ノードå:"
+msgstr "シーン固有åを無効ã«ã™ã‚‹"
#: editor/scene_tree_editor.cpp
msgid "(Connecting From)"
@@ -15592,7 +15517,7 @@ msgid ""
"Click to show signals dock."
msgstr ""
"ノードã«ã¯ %s 接続㨠%s グループãŒã‚ã‚Šã¾ã™ã€‚\n"
-"クリックã™ã‚‹ã¨ã€ä¿¡å·ãƒ‰ãƒƒã‚¯ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
+"クリックã™ã‚‹ã¨ã€ã‚·ã‚°ãƒŠãƒ«ãƒ‰ãƒƒã‚¯ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
#: editor/scene_tree_editor.cpp
msgid ""
@@ -16422,7 +16347,7 @@ msgstr "ボーンを表示ã™ã‚‹"
#: main/main.cpp
msgid "Image"
-msgstr ""
+msgstr "ç”»åƒ"
#: main/main.cpp
msgid "Fullsize"
@@ -16446,7 +16371,7 @@ msgstr "Windowsã®ãƒã‚¤ãƒ†ã‚£ãƒ–アイコン"
#: main/main.cpp
msgid "Buffering"
-msgstr ""
+msgstr "ãƒãƒƒãƒ•ã‚¡ãƒªãƒ³ã‚°"
#: main/main.cpp
msgid "Agile Event Flushing"
@@ -16618,7 +16543,7 @@ msgstr "ガイドを表示"
#: modules/csg/csg_shape.cpp
msgid "Cone"
-msgstr ""
+msgstr "円éŒ"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16922,14 +16847,12 @@ msgid "Byte Offset"
msgstr "ãƒã‚¤ãƒˆã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "コンãƒãƒ¼ãƒãƒ³ãƒˆ"
+msgstr "コンãƒãƒ¼ãƒãƒ³ãƒˆã®åž‹"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Normalized"
-msgstr "フォーマット"
+msgstr "æ­£è¦åŒ–"
#: modules/gltf/gltf_accessor.cpp
#, fuzzy
@@ -16937,19 +16860,16 @@ msgid "Count"
msgstr "ç·è¨ˆ:"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "MiB"
+msgstr "最å°"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "ミックス"
+msgstr "最大"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "インスタンス"
+msgstr "スパースカウント"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
@@ -17016,12 +16936,11 @@ msgstr "色"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "強度"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "変更"
+msgstr "範囲"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
@@ -17032,14 +16951,12 @@ msgid "Outer Cone Angle"
msgstr ""
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Blend Weights"
-msgstr "ライトマップを焼ã込む"
+msgstr "ブレンドウエイト"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Instance Materials"
-msgstr "マテリアルã®å¤‰æ›´:"
+msgstr "マテリアルインスタンス"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
msgid "Parent"
@@ -17074,7 +16991,7 @@ msgstr ""
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "固有å"
#: modules/gltf/gltf_skeleton.cpp
#, fuzzy
@@ -17177,7 +17094,7 @@ msgstr "テクスãƒãƒ£"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "ç”»åƒ"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
@@ -17188,9 +17105,8 @@ msgid "Lights"
msgstr "ライト"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "æ–°è¦ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³å:"
+msgstr "固有アニメーションå"
#: modules/gltf/gltf_state.cpp
msgid "Skeletons"
@@ -17225,7 +17141,7 @@ msgstr "ライトマップを焼ã込む"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
msgid "Cell"
-msgstr ""
+msgstr "セル"
#: modules/gridmap/grid_map.cpp
#, fuzzy
@@ -17582,13 +17498,12 @@ msgid "Seamless"
msgstr "シームレス"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "ランダムãªç¸®å°º:"
+msgstr "法線マップã¨ã—ã¦"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
-msgstr ""
+msgstr "ãƒãƒ³ãƒ—強度"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
@@ -17607,9 +17522,8 @@ msgid "Period"
msgstr "周期"
#: modules/opensimplex/open_simplex_noise.cpp
-#, fuzzy
msgid "Persistence"
-msgstr "é€è¦–投影"
+msgstr "パーシステンス"
#: modules/opensimplex/open_simplex_noise.cpp
#, fuzzy
@@ -17622,7 +17536,6 @@ msgid "Subject"
msgstr "対象"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
msgstr "åå‰"
@@ -18048,14 +17961,12 @@ msgid "Return"
msgstr "Return(戻り値)"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Enabled"
-msgstr "実行å¯èƒ½"
+msgstr "戻り値ãŒæœ‰åŠ¹"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Type"
-msgstr "Return(戻り値)"
+msgstr "戻り値ã®åž‹"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
@@ -18067,9 +17978,8 @@ msgid "if (cond) is:"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "While"
-msgstr "一方"
+msgstr "〜ã®é–“(While)"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -18084,18 +17994,16 @@ msgid "for (elem) in (input):"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Input type not iterable:"
-msgstr "入力タイプã¯å復å¯èƒ½ã§ã¯ã‚ã‚Šã¾ã›ã‚“: "
+msgstr "入力タイプã¯å復å¯èƒ½ã§ã¯ã‚ã‚Šã¾ã›ã‚“:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "イテレーターãŒç„¡åŠ¹ã«ãªã‚Šã¾ã—ãŸ"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Iterator became invalid:"
-msgstr "イテレーターãŒç„¡åŠ¹ã«ãªã‚Šã¾ã—ãŸ: "
+msgstr "イテレーターãŒç„¡åŠ¹ã«ãªã‚Šã¾ã—ãŸ:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18192,11 +18100,11 @@ msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "ShiftLeft %s"
-msgstr ""
+msgstr "左シフト%s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "ShiftRight %s"
-msgstr ""
+msgstr "å³ã‚·ãƒ•ãƒˆ%s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitAnd %s"
@@ -18255,9 +18163,8 @@ msgstr "é…列ã®ã‚µã‚¤ã‚ºã‚’変更"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "イテレータ"
+msgstr "演算å­"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Invalid argument of type:"
@@ -18336,9 +18243,8 @@ msgid "Get Self"
msgstr "自己"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "CustomNode"
-msgstr "ノードを切りå–ã‚‹"
+msgstr "カスタムノード"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
@@ -18661,7 +18567,7 @@ msgstr "パッケージ"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Unique Name"
-msgstr "ユニークå"
+msgstr "固有å"
#: platform/android/export/export_plugin.cpp
msgid "Signed"
@@ -19020,7 +18926,6 @@ msgstr ""
"情報ãŒå­˜åœ¨ã—ã¾ã›ã‚“。 「プロジェクトã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„。"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
@@ -20964,19 +20869,17 @@ msgstr "æ–¹å‘"
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Spread"
-msgstr ""
+msgstr "広ãŒã‚Š"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Initial Velocity"
-msgstr "åˆæœŸåŒ–"
+msgstr "åˆæœŸé€Ÿåº¦"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Random"
-msgstr "オービットビュー å³"
+msgstr "速度ランダム化"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
@@ -20986,15 +20889,13 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Curve"
-msgstr "オービットビュー å³"
+msgstr "速度曲線"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Orbit Velocity"
-msgstr "オービットビュー å³"
+msgstr "オービット速度"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21004,25 +20905,23 @@ msgstr "リニア"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel"
-msgstr "アクセス"
+msgstr "加速度"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Accel Random"
-msgstr ""
+msgstr "加速度ランダム化"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel Curve"
-msgstr "曲線を分割ã™ã‚‹"
+msgstr "加速度曲線"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Radial Accel"
-msgstr ""
+msgstr "角化速度"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21051,7 +20950,7 @@ msgstr "曲線を分割ã™ã‚‹"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
msgid "Angle"
-msgstr ""
+msgstr "角度"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21121,21 +21020,18 @@ msgstr "スケール"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Curve"
-msgstr "曲線を分割ã™ã‚‹"
+msgstr "速度曲線"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Random"
-msgstr "オフセット:"
+msgstr "オフセットランダム化"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Curve"
-msgstr "曲線を閉ã˜ã‚‹"
+msgstr "オフセット曲線"
#: scene/2d/joints_2d.cpp
msgid "Node A and Node B must be PhysicsBody2Ds"
@@ -21333,7 +21229,7 @@ msgstr ""
#: scene/2d/line_2d.cpp
msgid "Round Precision"
-msgstr ""
+msgstr "丸ã‚精度"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
#: scene/resources/dynamic_font.cpp
@@ -21349,7 +21245,7 @@ msgstr ""
#: scene/3d/navigation.cpp scene/animation/root_motion_view.cpp
#: scene/resources/world_2d.cpp servers/physics_2d/physics_2d_server_sw.cpp
msgid "Cell Size"
-msgstr ""
+msgstr "セルサイズ"
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
#, fuzzy
@@ -22023,7 +21919,7 @@ msgstr "ARVRCameraã¯ARVROriginノードを親ã«æŒã¤å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: scene/3d/arvr_nodes.cpp
msgid "Controller ID"
-msgstr ""
+msgstr "コントローラーID"
#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
msgid "Rumble"
@@ -22081,7 +21977,7 @@ msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "最大dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
@@ -22807,15 +22703,15 @@ msgstr "リニア"
#: scene/3d/physics_body.cpp
msgid "Angular X"
-msgstr ""
+msgstr "角度X"
#: scene/3d/physics_body.cpp
msgid "Angular Y"
-msgstr ""
+msgstr "角度Y"
#: scene/3d/physics_body.cpp
msgid "Angular Z"
-msgstr ""
+msgstr "角度Z"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23026,7 +22922,7 @@ msgstr "Node A 㨠Node B ã¯ç•°ãªã‚‹ PhysicsBody ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚
#: scene/3d/physics_joint.cpp
msgid "Solver"
-msgstr ""
+msgstr "ソルãƒãƒ¼"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23553,11 +23449,11 @@ msgstr ""
#: scene/3d/soft_body.cpp
msgid "Pressure Coefficient"
-msgstr ""
+msgstr "圧力係数"
#: scene/3d/soft_body.cpp
msgid "Damping Coefficient"
-msgstr ""
+msgstr "減衰係数"
#: scene/3d/soft_body.cpp
msgid "Drag Coefficient"
@@ -23604,7 +23500,7 @@ msgstr ""
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
msgid "Opacity"
-msgstr ""
+msgstr "ä¸é€æ˜Žåº¦"
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
#, fuzzy
@@ -23685,6 +23581,16 @@ msgstr "エラー"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "ソート"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "アンビエントを使用"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -24265,7 +24171,7 @@ msgstr "テーマ プロパティ"
#: scene/gui/dialogs.cpp
msgid "Window Title"
-msgstr ""
+msgstr "ウィンドウタイトル"
#: scene/gui/dialogs.cpp
#, fuzzy
@@ -24355,7 +24261,7 @@ msgstr "コミット"
#: scene/gui/graph_node.cpp
msgid "Overlay"
-msgstr ""
+msgstr "オーãƒãƒ¼ãƒ¬ã‚¤"
#: scene/gui/grid_container.cpp scene/gui/item_list.cpp scene/gui/tree.cpp
#, fuzzy
@@ -24438,7 +24344,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/resources/navigation_mesh.cpp
msgid "Max Length"
-msgstr ""
+msgstr "最大長"
#: scene/gui/line_edit.cpp
msgid "Secret"
@@ -24825,7 +24731,7 @@ msgstr ""
#: scene/gui/text_edit.cpp
msgid "Readonly"
-msgstr ""
+msgstr "読ã¿å–り専用"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -25344,14 +25250,12 @@ msgid "Clear Mode"
msgstr "定è¦ãƒ¢ãƒ¼ãƒ‰"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Enable 2D"
-msgstr "有効"
+msgstr "2D有効化"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Enable 3D"
-msgstr "有効"
+msgstr "3D有効化"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25359,9 +25263,8 @@ msgid "Object Picking"
msgstr "オニオンスキンを有効ã«ã™ã‚‹"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Disable Input"
-msgstr "アイテムを無効ã«ã™ã‚‹"
+msgstr "入力無効化"
#: scene/main/viewport.cpp servers/visual_server.cpp
msgid "Shadow Atlas"
@@ -26310,11 +26213,11 @@ msgstr "データ付"
#: scene/resources/environment.cpp
msgid "Background"
-msgstr ""
+msgstr "背景"
#: scene/resources/environment.cpp scene/resources/sky.cpp
msgid "Sky"
-msgstr ""
+msgstr "空"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26322,19 +26225,16 @@ msgid "Sky Custom FOV"
msgstr "ノードを切りå–ã‚‹"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Orientation"
-msgstr "オンラインドキュメント"
+msgstr "空ã®æ–¹å‘"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Rotation"
-msgstr "回転ã®ã‚¹ãƒ†ãƒƒãƒ—:"
+msgstr "空ã®å›žè»¢"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Rotation Degrees"
-msgstr "%s 度回転。"
+msgstr "空ã®å›žè»¢è§’度"
#: scene/resources/environment.cpp
msgid "Canvas Max Layer"
@@ -26497,7 +26397,7 @@ msgstr "UVãƒãƒ£ãƒ³ãƒãƒ« デãƒãƒƒã‚°"
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr ""
+msgstr "ブラー"
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
@@ -26564,7 +26464,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Bloom"
-msgstr ""
+msgstr "ブルーム"
#: scene/resources/environment.cpp
msgid "HDR Threshold"
@@ -26789,7 +26689,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "NormalMap"
-msgstr ""
+msgstr "法線マップ"
#: scene/resources/material.cpp
msgid "Rim"
@@ -28128,17 +28028,15 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "åŠç²¾åº¦å°æ•°ã‚’無効化"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Enable High Float"
-msgstr "優先順ä½ã‚’有効化"
+msgstr "高精度å°æ•°ã‚’有効化"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Precision"
-msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
+msgstr "精度"
#: servers/visual_server.cpp
msgid "UV Contract"
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index f085051bf7..629afaa429 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -12951,9 +12951,10 @@ msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ მხáƒáƒšáƒáƒ“"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14349,12 +14350,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23337,6 +23337,15 @@ msgstr "სáƒáƒ áƒ™áƒ”"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "გáƒáƒ“áƒáƒ¡áƒ•áƒšáƒ”ბი"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/km.po b/editor/translations/km.po
index 3d39686d68..ade147ec7e 100644
--- a/editor/translations/km.po
+++ b/editor/translations/km.po
@@ -12389,9 +12389,10 @@ msgstr "Anim ផ្លាស់ប្ážáž¼ážš Transform"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13726,12 +13727,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22256,6 +22256,14 @@ msgstr "កញ្ចក់"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr ""
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index e1940d698c..f43830b1e9 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -39,13 +39,15 @@
# 박민규 <80dots@gmail.com>, 2022.
# ì´ì§€ë¯¼ <jiminaleejung@gmail.com>, 2022.
# nulltable <un5450@naver.com>, 2022.
+# Godoto <aicompose@gmail.com>, 2022.
+# gaenyang <gaenyang@outlook.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-23 04:16+0000\n"
-"Last-Translator: nulltable <un5450@naver.com>\n"
+"PO-Revision-Date: 2022-10-24 12:41+0000\n"
+"Last-Translator: Godoto <aicompose@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -53,7 +55,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -270,7 +272,7 @@ msgstr "ì²­í¬ í¬ê¸° ì½ê¸°"
#: core/io/marshalls.cpp
msgid "Object ID"
-msgstr "오브ì íŠ¸ ID"
+msgstr "오브ì íŠ¸ ì•„ì´ë””"
#: core/io/multiplayer_api.cpp core/io/packet_peer.cpp
msgid "Allow Object Decoding"
@@ -394,9 +396,8 @@ msgid "Mouse Mode"
msgstr "마우스 모드"
#: core/os/input.cpp
-#, fuzzy
msgid "Use Accumulated Input"
-msgstr "입력 삭제"
+msgstr "ëˆ„ì  ìž…ë ¥ 사용"
#: core/os/input_event.cpp editor/project_settings_editor.cpp
#: servers/audio_server.cpp
@@ -479,7 +480,7 @@ msgstr "ì••ë ¥"
#: core/os/input_event.cpp
msgid "Pen Inverted"
-msgstr ""
+msgstr "펜 반전"
#: core/os/input_event.cpp
msgid "Relative"
@@ -682,11 +683,11 @@ msgstr "스í¬ë¦½íŠ¸ 템플릿 검색 경로"
#: core/project_settings.cpp
msgid "Version Control Autoload On Startup"
-msgstr "시작할 ë•Œ ìžë™ìœ¼ë¡œ Version Control 로드"
+msgstr "시작 ì‹œ 버전 관리 ìžë™ì‹¤í–‰"
#: core/project_settings.cpp
msgid "Version Control Plugin Name"
-msgstr "버전 컨트롤 í”ŒëŸ¬ê·¸ì¸ ì´ë¦„"
+msgstr "버전 관리 í”ŒëŸ¬ê·¸ì¸ ì´ë¦„"
#: core/project_settings.cpp scene/2d/collision_object_2d.cpp
#: scene/3d/collision_object.cpp scene/gui/control.cpp
@@ -1606,7 +1607,7 @@ msgstr "변형"
#: editor/animation_track_editor.cpp editor/editor_help.cpp
msgid "Methods"
-msgstr "메서드"
+msgstr "방법"
#: editor/animation_track_editor.cpp
msgid "Bezier"
@@ -2071,7 +2072,7 @@ msgstr "\"%s\" 시그ë„ì˜ ëª¨ë“  ì—°ê²°ì„ ì œê±°í•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr "시그ë„"
+msgstr "신호"
#: editor/connections_dialog.cpp
msgid "Filter signals"
@@ -2200,7 +2201,7 @@ msgstr "열기"
#: editor/dependency_editor.cpp
msgid "Owners of: %s (Total: %d)"
-msgstr ""
+msgstr "소유ìž: %s(ì´: %d)"
#: editor/dependency_editor.cpp
msgid ""
@@ -2756,16 +2757,15 @@ msgstr "ì„ íƒ"
#: editor/editor_export.cpp
msgid "Project export for platform:"
-msgstr "플랫í¼ìœ¼ë¡œ 프로ì íŠ¸ 내보내기:"
+msgstr "플랫í¼ìš© 프로ì íŠ¸ 내보내기:"
#: editor/editor_export.cpp
msgid "Completed with warnings."
msgstr "완료하였지만 경고가 있습니다."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Completed successfully."
-msgstr "패키지를 성공ì ìœ¼ë¡œ 설치했습니다!"
+msgstr "성공ì ìœ¼ë¡œ 완료ë˜ì—ˆìŠµë‹ˆë‹¤."
#: editor/editor_export.cpp
msgid "Failed."
@@ -2921,9 +2921,8 @@ msgid "Custom release template not found."
msgstr "커스텀 릴리스 í…œí”Œë¦¿ì„ ì°¾ì„ ìˆ˜ 없습니다."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Prepare Template"
-msgstr "템플릿 관리"
+msgstr "템플릿 준비"
#: editor/editor_export.cpp platform/osx/export/export.cpp
msgid "The given export path doesn't exist."
@@ -2939,9 +2938,8 @@ msgstr "내보내기 í…œí”Œë¦¿ì„ ë³µì‚¬í•˜ì§€ 못했습니다."
#: editor/editor_export.cpp platform/windows/export/export.cpp
#: platform/x11/export/export.cpp
-#, fuzzy
msgid "PCK Embedding"
-msgstr "패딩"
+msgstr "PCK 임베딩"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3435,7 +3433,7 @@ msgstr "스타ì¼"
#: editor/editor_help.cpp
msgid "Enumerations"
-msgstr "열거형"
+msgstr "목ë¡"
#: editor/editor_help.cpp
msgid "Property Descriptions"
@@ -5472,7 +5470,7 @@ msgstr "ì„ íƒëœ í•­ëª©ì„ Drag and drop"
#: editor/editor_settings.cpp
msgid "Stay In Script Editor On Node Selected"
-msgstr ""
+msgstr "ì„ íƒí•œ 노드ì—ì„œ 스í¬ë¦½íŠ¸ 편집기 유지"
#: editor/editor_settings.cpp
msgid "Appearance"
@@ -5774,7 +5772,7 @@ msgstr "줌 변경"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
-msgstr ""
+msgstr "뒤틀린 마우스 패ë‹"
#: editor/editor_settings.cpp
msgid "Navigation Feel"
@@ -5782,56 +5780,47 @@ msgstr "내비게ì´ì…˜ ê°ë„"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
-msgstr ""
+msgstr "ê¶¤ë„ ê°ë„"
#: editor/editor_settings.cpp
msgid "Orbit Inertia"
-msgstr ""
+msgstr "ê¶¤ë„ ê´€ì„±"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Translation Inertia"
-msgstr "번역"
+msgstr "번역 관성"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Inertia"
-msgstr "줌 ì¸"
+msgstr "줌 관성"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook"
-msgstr "ìžìœ  ì‹œì  ìœ„ë¡œ"
+msgstr "ìžìœ  ì‹œì "
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Navigation Scheme"
-msgstr "내비게ì´ì…˜ 메시 만들기"
+msgstr "ìžìœ  ì‹œì  ë‚´ë¹„ê²Œì´ì…˜ 계íš"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Sensitivity"
-msgstr "ìžìœ  ì‹œì  ì™¼ìª½ìœ¼ë¡œ"
+msgstr "ìžìœ  ì‹œì  ê°ë„"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Inertia"
-msgstr "ìžìœ  ì‹œì  ì™¼ìª½ìœ¼ë¡œ"
+msgstr "ìžìœ  ì‹œì  ê´€ì„±"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Base Speed"
-msgstr "ìžìœ  ì‹œì  ì†ë„ 수정ìž"
+msgstr "ìžìœ  ì‹œì  ê¸°ë³¸ ì†ë ¥"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Activation Modifier"
-msgstr "ìžìœ  ì‹œì  ëŠë¦° 수정ìž"
+msgstr "ìžìœ  ì‹œì  í™œì„±í™” 수정ìž"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Speed Zoom Link"
-msgstr "ìžìœ  ì‹œì  ì†ë„ 수정ìž"
+msgstr "ìžìœ  ì‹œì  ì†ë„ 확대 ë§í¬"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Grid Color"
@@ -5867,98 +5856,89 @@ msgstr "본 IK 색ìƒ"
#: editor/editor_settings.cpp
msgid "Bone Outline Color"
-msgstr ""
+msgstr "뼈 윤곽선 색ìƒ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Outline Size"
-msgstr "윤곽선 í¬ê¸°:"
+msgstr "뼈 윤곽선 í¬ê¸°"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
-msgstr ""
+msgstr "표시 ì˜ì—­ í…Œë‘리 색ìƒ"
#: editor/editor_settings.cpp
msgid "Constrain Editor View"
-msgstr ""
+msgstr "제약 편집기 보기"
#: editor/editor_settings.cpp
msgid "Simple Panning"
-msgstr ""
+msgstr "간단한 패ë‹"
#: editor/editor_settings.cpp
msgid "Scroll To Pan"
-msgstr ""
+msgstr "팬으로 스í¬ë¡¤"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Speed"
-msgstr "ì†ë„:"
+msgstr "팬 ì†ë„"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Poly Editor"
-msgstr "í´ë¦¬ê³¤ 2D UV ì—디터"
+msgstr "í´ë¦¬ ì—디터"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
-msgstr ""
+msgstr "í¬ì¸íŠ¸ 잡기 반경"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Show Previous Outline"
-msgstr "ì´ì „ í‰ë©´"
+msgstr "ì´ì „ 아웃ë¼ì¸ 보기"
#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Autorename Animation Tracks"
-msgstr "애니메ì´ì…˜ ì´ë¦„ 바꾸기"
+msgstr "애니메ì´ì…˜ 트랙 ìžë™ ì´ë¦„ 바꾸기"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
-msgstr ""
+msgstr "기본 베지어 트랙 만들기"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Create Reset Tracks"
-msgstr "재설정 트랙 만들기"
+msgstr "기본 재설정 트랙 만들기"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
-msgstr ""
+msgstr "양파 ë ˆì´ì–´ 과거 색ìƒ"
#: editor/editor_settings.cpp
msgid "Onion Layers Future Color"
-msgstr ""
+msgstr "양파 ë ˆì´ì–´ 미래 색ìƒ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Visual Editors"
-msgstr "그룹 ì—디터"
+msgstr "비주얼 편집기"
#: editor/editor_settings.cpp
msgid "Minimap Opacity"
-msgstr ""
+msgstr "미니맵 불투명ë„"
#: editor/editor_settings.cpp
msgid "Window Placement"
-msgstr ""
+msgstr "창 배치"
#: editor/editor_settings.cpp scene/2d/back_buffer_copy.cpp scene/2d/sprite.cpp
#: scene/2d/visibility_notifier_2d.cpp scene/3d/sprite_3d.cpp
#: scene/gui/control.cpp
-#, fuzzy
msgid "Rect"
-msgstr "사ê°í˜• ì „ì²´"
+msgstr "ì§ì‚¬ê°í˜•"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Rect Custom Position"
-msgstr "ê³¡ì„ ì˜ ì•„ì›ƒ 위치 설정"
+msgstr "ì§ì‚¬ê°í˜• ì‚¬ìš©ìž ì •ì˜ ìœ„ì¹˜"
#: editor/editor_settings.cpp platform/android/export/export_plugin.cpp
msgid "Screen"
-msgstr ""
+msgstr "화면"
#: editor/editor_settings.cpp
msgid "Auto Save"
@@ -5974,20 +5954,17 @@ msgstr "í°íŠ¸ í¬ê¸°"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Host"
-msgstr "ì›ê²© "
+msgstr "ì›ê²© 호스트"
#: editor/editor_settings.cpp
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Remote Port"
-msgstr "ì  ì œê±°"
+msgstr "ì›ê²© í¬íŠ¸"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor SSL Certificates"
-msgstr "ì—디터 설정"
+msgstr "íŽ¸ì§‘ìž SSL ì¸ì¦ì„œ"
#: editor/editor_settings.cpp
msgid "HTTP Proxy"
@@ -5995,13 +5972,13 @@ msgstr "HTTP 프ë¡ì‹œ"
#: editor/editor_settings.cpp
msgid "Host"
-msgstr ""
+msgstr "호스트"
#: editor/editor_settings.cpp editor/fileserver/editor_file_server.cpp
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Port"
-msgstr ""
+msgstr "í¬íŠ¸"
#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
@@ -6019,28 +5996,27 @@ msgstr "ìƒì§• 색"
#: editor/editor_settings.cpp
msgid "Keyword Color"
-msgstr ""
+msgstr "키워드 색ìƒ"
#: editor/editor_settings.cpp
msgid "Control Flow Keyword Color"
-msgstr ""
+msgstr "플로우 키워드 ìƒ‰ìƒ ì œì–´"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "기본 타입 바꾸기"
+msgstr "기본 유형 색ìƒ"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
-msgstr ""
+msgstr "엔진 유형 색ìƒ"
#: editor/editor_settings.cpp
msgid "User Type Color"
-msgstr ""
+msgstr "ì‚¬ìš©ìž ìœ í˜• 색ìƒ"
#: editor/editor_settings.cpp
msgid "Comment Color"
-msgstr ""
+msgstr "댓글 색ìƒ"
#: editor/editor_settings.cpp
msgid "String Color"
@@ -6057,35 +6033,32 @@ msgid "Completion Background Color"
msgstr "완성 배경 색"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Completion Selected Color"
-msgstr "ì„ íƒëœ 항목 가져오기"
+msgstr "ì„ íƒ ìƒ‰ìƒ ì™„ë£Œ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Existing Color"
-msgstr ""
+msgstr "기존 ìƒ‰ìƒ ì™„ì„±"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Scroll Color"
-msgstr ""
+msgstr "스í¬ë¡¤ ìƒ‰ìƒ ì™„ë£Œ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Completion Font Color"
-msgstr ""
+msgstr "글꼴 ìƒ‰ìƒ ì™„ë£Œ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Color"
-msgstr "ë‹¤ìŒ ì¸µ"
+msgstr "글ìžìƒ‰"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Line Number Color"
msgstr "í–‰ ë²ˆí˜¸ì˜ ìƒ‰"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Safe Line Number Color"
-msgstr "행 번호:"
+msgstr "안전 ë¼ì¸ 번호 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
@@ -6096,93 +6069,82 @@ msgid "Caret Background Color"
msgstr "íƒˆìž ê¸°í˜¸ ë°°ê²½ 색"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Text Selected Color"
-msgstr "ì„ íƒ í•­ëª© ì‚­ì œ"
+msgstr "ì„ íƒí•œ í…스트 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Selection Color"
-msgstr "ì„ íƒ ì˜ì—­ë§Œ"
+msgstr "ì„ íƒ ìƒ‰ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Brace Mismatch Color"
-msgstr ""
+msgstr "중괄호 불ì¼ì¹˜ 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Current Line Color"
-msgstr "현재 씬"
+msgstr "현재 줄 색ìƒ"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Color"
-msgstr ""
+msgstr "ë¼ì¸ ê¸¸ì´ ê°€ì´ë“œë¼ì¸ 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Word Highlighted Color"
-msgstr "구문 강조"
+msgstr "구문 ê°•ì¡° 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Number Color"
-msgstr ""
+msgstr "ìˆ«ìž ìƒ‰ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Function Color"
-msgstr "함수(Function)"
+msgstr "함수 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Member Variable Color"
-msgstr "변수명 바꾸기"
+msgstr "멤버 변수 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Mark Color"
-msgstr "ìƒ‰ìƒ ì„ íƒ"
+msgstr "ë§ˆí¬ ìƒ‰ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Bookmark Color"
-msgstr "ë¶ë§ˆí¬"
+msgstr "ë¶ë§ˆí¬ 색ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Breakpoint Color"
-msgstr "중단ì "
+msgstr "ì¤‘ë‹¨ì  ìƒ‰ìƒ"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Executing Line Color"
-msgstr ""
+msgstr "ë¼ì¸ ìƒ‰ìƒ ì‹¤í–‰"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Code Folding Color"
-msgstr ""
+msgstr "코드 í´ë”© 색ìƒ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Color"
-msgstr "검색 결과"
+msgstr "검색 ê²°ê³¼ 색ìƒ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Search Result Border Color"
-msgstr "검색 결과"
+msgstr "검색 ê²°ê³¼ í…Œë‘리 색ìƒ"
#: editor/editor_spin_slider.cpp
msgid "Hold %s to round to integers. Hold Shift for more precise changes."
-msgstr "%s를 눌러 정수로 반올림합니다. Shift를 눌러 좀 ë” ì •ë°€í•˜ê²Œ 조작합니다."
+msgstr ""
+"정수로 반올림하려면 %s 키를 누르세요. ë” ì •ë°€í•œ ë³€ê²½ì„ í•˜ë ¤ë©´ Shift 키를 누르"
+"세요."
#: editor/editor_spin_slider.cpp scene/gui/button.cpp
-#, fuzzy
msgid "Flat"
-msgstr "플랫 0"
+msgstr "í‰ë©´"
#: editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Hide Slider"
-msgstr "콜리전 모드"
+msgstr "슬ë¼ì´ë” 숨기기"
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
@@ -6190,11 +6152,11 @@ msgstr "가져올 노드 ì„ íƒ"
#: editor/editor_sub_scene.cpp editor/project_manager.cpp
msgid "Browse"
-msgstr "íƒìƒ‰"
+msgstr "검색"
#: editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr "씬 경로:"
+msgstr "장면 경로:"
#: editor/editor_sub_scene.cpp
msgid "Import From Node:"
@@ -6202,13 +6164,12 @@ msgstr "노드ì—ì„œ 가져오기:"
#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
#: editor/editor_vcs_interface.cpp
-#, fuzzy
msgid "%s Error"
-msgstr "오류"
+msgstr "%s 오류"
#: editor/export_template_manager.cpp
msgid "Open the folder containing these templates."
-msgstr "ì´ í…œí”Œë¦¿ì„ í¬í•¨í•˜ëŠ” í´ë”를 엽니다."
+msgstr "ì´ í…œí”Œë¦¿ì´ í¬í•¨ëœ í´ë”를 엽니다."
#: editor/export_template_manager.cpp
msgid "Uninstall these templates."
@@ -6220,11 +6181,11 @@ msgstr "사용 가능한 미러가 없습니다."
#: editor/export_template_manager.cpp
msgid "Retrieving the mirror list..."
-msgstr "미러 목ë¡ì„ 검색하는 중..."
+msgstr "미러 목ë¡ì„ 가져오는 중..."
#: editor/export_template_manager.cpp
msgid "Starting the download..."
-msgstr "다운로드를 시작하는 중..."
+msgstr "다운로드 시작 중..."
#: editor/export_template_manager.cpp
msgid "Error requesting URL:"
@@ -6232,11 +6193,11 @@ msgstr "URL 요청 중 오류:"
#: editor/export_template_manager.cpp
msgid "Connecting to the mirror..."
-msgstr "ë¯¸ëŸ¬ì— ì—°ê²° 중..."
+msgstr "미러 연결 중..."
#: editor/export_template_manager.cpp
msgid "Can't resolve the requested address."
-msgstr "ìš”ì²­ëœ ì£¼ì†Œë¥¼ í•´ê²°í•  수 없습니다."
+msgstr "요청한 주소를 확ì¸í•  수 없습니다."
#: editor/export_template_manager.cpp
msgid "Can't connect to the mirror."
@@ -6472,13 +6433,13 @@ msgstr ""
#: editor/fileserver/editor_file_server.cpp
msgid "File Server"
-msgstr ""
+msgstr "íŒŒì¼ ì„œë²„"
#: editor/fileserver/editor_file_server.cpp
#: editor/plugins/version_control_editor_plugin.cpp
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
msgid "Password"
-msgstr ""
+msgstr "비밀번호"
#: editor/filesystem_dock.cpp
msgid "Favorites"
@@ -6539,6 +6500,9 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"ì´ íŒŒì¼ í™•ìž¥ìžëŠ” 편집기ì—ì„œ ì¸ì‹ë˜ì§€ 않습니다.\n"
+"ì´ë¦„ì„ ë³€ê²½í•˜ë ¤ë©´ ìš´ì˜ ì²´ì œì˜ íŒŒì¼ íƒìƒ‰ê¸°ë¥¼ 사용하십시오.\n"
+"ì•Œ 수 없는 확장ìžë¡œ ì´ë¦„ì„ ë°”ê¾¸ë©´ 파ì¼ì´ ë” ì´ìƒ íŽ¸ì§‘ê¸°ì— í‘œì‹œë˜ì§€ 않습니다."
#: editor/filesystem_dock.cpp
msgid ""
@@ -6760,14 +6724,12 @@ msgid "Replace..."
msgstr "바꾸기..."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Replace in Files"
-msgstr "ëª¨ë‘ ë°”ê¾¸ê¸°"
+msgstr "파ì¼ì—ì„œ 바꾸기"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
-msgstr "ëª¨ë‘ ë°”ê¾¸ê¸°"
+msgstr "ëª¨ë‘ ë°”ê¾¸ê¸°(실행 취소 ì—†ìŒ)"
#: editor/find_in_files.cpp
msgid "Searching..."
@@ -6840,43 +6802,40 @@ msgstr "그룹 관리"
#: editor/import/editor_import_collada.cpp
msgid "Collada"
-msgstr ""
+msgstr "COLLADA"
#: editor/import/editor_import_collada.cpp
msgid "Use Ambient"
-msgstr ""
+msgstr "주변광 사용"
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "í´ë” 만들기"
+msgstr "다ìŒì—ì„œ 만들기"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Threshold"
-msgstr ""
+msgstr "스레숄드"
#: editor/import/resource_importer_csv_translation.cpp
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_scene.cpp
#: editor/import/resource_importer_texture.cpp
#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Compress"
-msgstr "구성 요소"
+msgstr "컴프레스"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
-msgstr ""
+msgstr "디리미터"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
-msgstr "ìƒ‰ìƒ í•¨ìˆ˜."
+msgstr "컬러코렉트"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
-msgstr ""
+msgstr "RGBì¸ ê²½ìš° BPTC ì—†ìŒ"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/cpu_particles_2d.cpp
@@ -6884,13 +6843,13 @@ msgstr ""
#: scene/resources/material.cpp scene/resources/particles_material.cpp
#: scene/resources/texture.cpp scene/resources/visual_shader.cpp
msgid "Flags"
-msgstr ""
+msgstr "플래그"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/animation/tween.cpp
#: scene/resources/texture.cpp
msgid "Repeat"
-msgstr ""
+msgstr "반복"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
@@ -6900,14 +6859,13 @@ msgstr "í•„í„°"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Mipmaps"
-msgstr "시그ë„"
+msgstr "밉맵"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "Anisotropic"
-msgstr ""
+msgstr "ì´ë°©ì„±"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
@@ -6915,9 +6873,8 @@ msgid "sRGB"
msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "Slices"
-msgstr "ìžë™ ìžë¥´ê¸°"
+msgstr "슬ë¼ì´ìŠ¤"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
@@ -6934,14 +6891,12 @@ msgid "Vertical"
msgstr "수ì§"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "ìƒì„±í•œ ì  ê°œìˆ˜"
+msgstr "ì ‘ì„  ìƒì„±"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Scale Mesh"
-msgstr "ìŠ¤ì¼€ì¼ ëª¨ë“œ"
+msgstr "ìŠ¤ì¼€ì¼ ë©”ì‰¬"
#: editor/import/resource_importer_obj.cpp
msgid "Offset Mesh"
@@ -6949,9 +6904,8 @@ msgstr "오프셋 메시"
#: editor/import/resource_importer_obj.cpp
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Octahedral Compression"
-msgstr "í‘œí˜„ì‹ ì„¤ì •"
+msgstr "팔면체 압축"
#: editor/import/resource_importer_obj.cpp
msgid "Optimize Mesh Flags"
@@ -6999,100 +6953,84 @@ msgstr "여러 ê°œì˜ ì”¬ê³¼ 머티리얼로 가져오기"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Nodes"
msgstr "노드"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Type"
-msgstr "멤버 타입"
+msgstr "루트 유형"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Name"
-msgstr "ì›ê²© ì´ë¦„"
+msgstr "루트 ì´ë¦„"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "스케ì¼"
+msgstr "루트 스케ì¼"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Custom Script"
-msgstr "노드 잘ë¼ë‚´ê¸°"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ìŠ¤í¬ë¦½íŠ¸"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Storage"
-msgstr "저장하려는 파ì¼:"
+msgstr "보관소"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
-msgstr ""
+msgstr "기존 ì´ë¦„ 사용"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Materials"
msgstr "머티리얼"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep On Reimport"
-msgstr "다시 가져오기"
+msgstr "ê³„ì† ë‹¤ì‹œ 가져오기"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Meshes"
-msgstr "메시"
+msgstr "메쉬"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Ensure Tangents"
-msgstr "곡선 탄젠트 수정"
+msgstr "ì ‘ì„  확ì¸"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Light Baking"
-msgstr "ë¼ì´íŠ¸ë§µ 굽기"
+msgstr "ë¼ì´íŠ¸ ë² ì´í‚¹"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Lightmap Texel Size"
-msgstr "ë¼ì´íŠ¸ë§µ 굽기"
+msgstr "ë¼ì´íŠ¸ë§µ í…ì…€ í¬ê¸°"
#: editor/import/resource_importer_scene.cpp modules/gltf/gltf_state.cpp
msgid "Skins"
-msgstr ""
+msgstr "스킨"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Use Named Skins"
-msgstr "ìŠ¤ì¼€ì¼ ìŠ¤ëƒ… 사용"
+msgstr "네임드 스킨 사용"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "External Files"
-msgstr "íŒŒì¼ ì—´ê¸°"
+msgstr "외부 파ì¼"
#: editor/import/resource_importer_scene.cpp
msgid "Store In Subdir"
-msgstr ""
+msgstr "하위 ë””ë ‰í† ë¦¬ì— ì €ìž¥"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
-msgstr "스í¬ë¦½íŠ¸ í•„í„°"
+msgstr "í•„í„° 스í¬ë¦½íŠ¸"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "변형"
+msgstr "맞춤 트랙 유지"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "최ì í™”"
+msgstr "최ì í™” ë„구"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7106,9 +7044,8 @@ msgstr "최ì í™”"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Enabled"
-msgstr "활성화"
+msgstr "활성화ë¨"
#: editor/import/resource_importer_scene.cpp
msgid "Max Linear Error"
@@ -7119,19 +7056,16 @@ msgid "Max Angular Error"
msgstr "최대 ê°ë„ 오류"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "ê°’"
+msgstr "최대 ê°ë„"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "애니메ì´ì…˜ 트랙 제거"
+msgstr "미사용 트랙 제거"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
-msgstr "애니메ì´ì…˜ í´ë¦½"
+msgstr "í´ë¦½"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
@@ -7185,64 +7119,63 @@ msgid ""
"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
+"%s: í…스처가 3Dì—ì„œ 노멀 맵으로 사용ë˜ëŠ” 것으로 ê°ì§€ë˜ì—ˆìŠµë‹ˆë‹¤. 메모리 사용량"
+"ì„ ì¤„ì´ê¸° 위해 빨강-ì´ˆë¡ í…스처 ì••ì¶•ì„ í™œì„±í™”í•©ë‹ˆë‹¤(파란색 채ë„ì€ ë²„ë ¤ì§)."
#: editor/import/resource_importer_texture.cpp
msgid ""
"%s: Texture detected as used in 3D. Enabling filter, repeat, mipmap "
"generation and VRAM texture compression."
msgstr ""
+"%s: í…스처가 3Dì—ì„œ ì‚¬ìš©ëœ ê²ƒìœ¼ë¡œ ê°ì§€ë˜ì—ˆìŠµë‹ˆë‹¤. í•„í„°, 반복, 밉맵 ìƒì„± ë° "
+"VRAM í…스처 ì••ì¶•ì„ í™œì„±í™”í•©ë‹ˆë‹¤."
#: editor/import/resource_importer_texture.cpp
msgid "2D, Detect 3D"
-msgstr ""
+msgstr "2D, 3D ê°ì§€"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "2D Pixel"
-msgstr "전면 픽셀"
+msgstr "2D 픽셀"
#: editor/import/resource_importer_texture.cpp scene/resources/texture.cpp
msgid "Lossy Quality"
-msgstr ""
+msgstr "ì†ì‹¤ 품질"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "HDR Mode"
-msgstr "모드 ì„ íƒ"
+msgstr "HDR 모드"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/mesh_instance_2d.cpp scene/2d/multimesh_instance_2d.cpp
#: scene/2d/particles_2d.cpp scene/2d/sprite.cpp scene/resources/style_box.cpp
msgid "Normal Map"
-msgstr ""
+msgstr "ì¼ë°˜ 맵"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Process"
-msgstr "후처리"
+msgstr "프로세스"
#: editor/import/resource_importer_texture.cpp
msgid "Fix Alpha Border"
-msgstr ""
+msgstr "알파 í…Œë‘리 수정"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Premult Alpha"
-msgstr "í´ë¦¬ê³¤ 편집"
+msgstr "프리멀트 알파"
#: editor/import/resource_importer_texture.cpp
msgid "Hdr As Srgb"
-msgstr ""
+msgstr "Srgb로 HDR"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Invert Color"
-msgstr "꼭짓ì "
+msgstr "ìƒ‰ìƒ ë°˜ì „"
#: editor/import/resource_importer_texture.cpp
msgid "Normal Map Invert Y"
@@ -7254,18 +7187,19 @@ msgstr "í¬ê¸° 제한"
#: editor/import/resource_importer_texture.cpp
msgid "Detect 3D"
-msgstr ""
+msgstr "3D ê°ì§€"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "SVG"
-msgstr "HSV"
+msgstr "SVG"
#: editor/import/resource_importer_texture.cpp
msgid ""
"Warning, no suitable PC VRAM compression enabled in Project Settings. This "
"texture will not display correctly on PC."
msgstr ""
+"경고, 프로ì íŠ¸ 설정ì—ì„œ í™œì„±í™”ëœ ì ì ˆí•œ PC VRAM ì••ì¶•ì´ ì—†ìŠµë‹ˆë‹¤. ì´ í…스처는 "
+"PCì—ì„œ 올바르게 표시ë˜ì§€ 않습니다."
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Atlas File"
@@ -7276,65 +7210,57 @@ msgid "Import Mode"
msgstr "가져오기 모드"
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Crop To Region"
-msgstr "íƒ€ì¼ ì˜ì—­ 설정"
+msgstr "ì˜ì—­ìœ¼ë¡œ ìžë¥´ê¸°"
#: editor/import/resource_importer_texture_atlas.cpp
msgid "Trim Alpha Border From Region"
-msgstr ""
+msgstr "ì˜ì—­ì—ì„œ 알파 í…Œë‘리 ìžë¥´ê¸°"
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "ì›ë³¸ 메시:"
+msgstr "힘"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
-msgstr ""
+msgstr "8비트"
#: editor/import/resource_importer_wav.cpp main/main.cpp
#: modules/mono/editor/csharp_project.cpp modules/mono/godotsharp_dirs.cpp
#: modules/mono/mono_gd/gd_mono.cpp
msgid "Mono"
-msgstr ""
+msgstr "모노"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate"
-msgstr "믹스 노드"
+msgstr "최대 비율"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Max Rate Hz"
-msgstr "믹스 노드"
+msgstr "최대 ì†ë„ Hz"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "ì†ì§ˆ"
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "형ì‹"
+msgstr "정규화"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Mode"
-msgstr "ì´ë™ 모드"
+msgstr "루프 모드"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop Begin"
-msgstr "ì´ë™ 모드"
+msgstr "루프 시작"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
-#, fuzzy
msgid "Loop End"
-msgstr "ì´ë™ 모드"
+msgstr "루프 종료"
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -7346,7 +7272,7 @@ msgstr "ìž„í¬í„°:"
#: editor/import_defaults_editor.cpp
msgid "Reset to Defaults"
-msgstr "ë””í´íŠ¸ë¡œ 재설정"
+msgstr "기본값으로 재설정"
#: editor/import_dock.cpp
msgid "Keep File (No Import)"
@@ -7358,11 +7284,11 @@ msgstr "íŒŒì¼ %dê°œ"
#: editor/import_dock.cpp
msgid "Set as Default for '%s'"
-msgstr "'%s'ì„(를) ë””í´íŠ¸ë¡œ 설정"
+msgstr "기본값으로 '%s' 설정"
#: editor/import_dock.cpp
msgid "Clear Default for '%s'"
-msgstr "'%s'ì„(를) ë””í´íŠ¸ì—ì„œ 지우기"
+msgstr "'%s'ì˜ ê¸°ë³¸ê°’ 지우기"
#: editor/import_dock.cpp
msgid "Reimport"
@@ -7382,55 +7308,54 @@ msgstr ""
#: editor/import_dock.cpp
msgid "Import As:"
-msgstr "ë‹¤ìŒ í˜•ì‹ìœ¼ë¡œ 가져오기:"
+msgstr "다ìŒìœ¼ë¡œ 가져오기:"
#: editor/import_dock.cpp
msgid "Save Scenes, Re-Import, and Restart"
-msgstr "씬 저장, 다시 가져오기 ë° ë‹¤ì‹œ 시작"
+msgstr "장면 저장, 다시 가져오기 ë° ìž¬ì‹œìž‘"
#: editor/import_dock.cpp
msgid "Changing the type of an imported file requires editor restart."
-msgstr "가져온 파ì¼ì˜ íƒ€ìž…ì„ ë°”ê¾¸ë ¤ë©´ ì—디터를 다시 시작해야 합니다."
+msgstr "가져온 파ì¼ì˜ ìœ í˜•ì„ ë³€ê²½í•˜ë ¤ë©´ 편집기를 다시 시작해야 합니다."
#: editor/import_dock.cpp
msgid ""
"WARNING: Assets exist that use this resource, they may stop loading properly."
msgstr ""
-"경고: ì´ ë¦¬ì†ŒìŠ¤ë¥¼ 사용하는 ì• ì…‹ì´ ìžˆìŠµë‹ˆë‹¤. ì •ìƒì ìœ¼ë¡œ 불러오지 못할 ìˆ˜ë„ ìžˆ"
-"습니다."
+"경고: ì´ ë¦¬ì†ŒìŠ¤ë¥¼ 사용하는 ì• ì…‹ì´ ìžˆìŠµë‹ˆë‹¤. ì •ìƒì ìœ¼ë¡œ 불러오지 못할 수 있습"
+"니다."
#: editor/import_dock.cpp
msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
msgstr ""
+"íŒŒì¼ ì‹œìŠ¤í…œ ë˜ëŠ” 검사기ì—ì„œ 리소스 파ì¼ì„ ì„ íƒí•˜ì—¬ 가져오기 ì„¤ì •ì„ ì¡°ì •í•˜ì‹­ì‹œ"
+"오."
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
-msgstr "리소스 ë¶ˆëŸ¬ì˜¤ê¸°ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
+msgstr "리소스를 불러오지 못했습니다."
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Property Name Style"
-msgstr "프로ì íŠ¸ ì´ë¦„:"
+msgstr "ì†ì„± ì´ë¦„ 스타ì¼"
#: editor/inspector_dock.cpp scene/gui/color_picker.cpp
msgid "Raw"
-msgstr "Raw"
+msgstr "RAW"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
msgstr "대문ìžë¡œ 시작"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "로케ì¼"
+msgstr "현지화"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
-msgstr ""
+msgstr "현재 언어로는 현지화가 불가능합니다."
#: editor/inspector_dock.cpp
msgid "Copy Properties"
@@ -7973,9 +7898,8 @@ msgid "New"
msgstr "새로 만들기"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "%s í´ëž˜ìŠ¤ 참조"
+msgstr "참조로 붙여넣기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -8303,7 +8227,7 @@ msgstr "í•„í„°..."
#: editor/plugins/asset_library_editor_plugin.cpp scene/main/http_request.cpp
msgid "Use Threads"
-msgstr ""
+msgstr "스레드 사용"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
@@ -8430,9 +8354,8 @@ msgid "Download Error"
msgstr "다운로드 오류"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Available URLs"
-msgstr "사용 가능한 프로필:"
+msgstr "사용 가능한 URL"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
@@ -8467,28 +8390,24 @@ msgid "Loading..."
msgstr "불러오는 중..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
-msgstr "처ìŒìœ¼ë¡œ"
+msgstr "처ìŒ"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
msgstr "ì´ì „"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
msgstr "다ìŒ"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
-msgstr "ë으로"
+msgstr "마지막"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "All"
@@ -8536,7 +8455,7 @@ msgstr "테스트"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed to get repository configuration."
-msgstr ""
+msgstr "저장소 êµ¬ì„±ì„ ê°€ì ¸ì˜¤ì§€ 못했습니다."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -8592,7 +8511,7 @@ msgstr "ë¼ì´íŠ¸ë§µ 굽기"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "LightMap Bake"
-msgstr ""
+msgstr "ë¼ì´íŠ¸ë§µ ë² ì´í‚¹"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
@@ -8902,9 +8821,8 @@ msgid "Alt+Drag: Move selected node."
msgstr "Alt+드래그: ì„ íƒëœ 노드를 ì´ë™í•©ë‹ˆë‹¤."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Alt+Drag: Scale selected node."
-msgstr "Alt+드래그: ì„ íƒëœ 노드를 ì´ë™í•©ë‹ˆë‹¤."
+msgstr "Alt+드래그: ì„ íƒí•œ ë…¸ë“œì˜ í¬ê¸°ë¥¼ 조절합니다."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "V: Set selected node's pivot position."
@@ -8937,7 +8855,7 @@ msgstr "ìŠ¤ì¼€ì¼ ëª¨ë“œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Shift: Scale proportionally."
-msgstr ""
+msgstr "Shift: 비례ì ìœ¼ë¡œ 조정합니다."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9036,9 +8954,8 @@ msgstr "ì„ íƒëœ 오브ì íŠ¸ë¥¼ ê·¸ ìžë¦¬ì— 잠급니다 (움ì§ì¼ 수 ì—†ì
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected Node(s)"
-msgstr "ì„ íƒ í•­ëª© 잠그기"
+msgstr "ì„ íƒí•œ 노드 잠금"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9047,9 +8964,8 @@ msgstr "ì„ íƒëœ 오브ì íŠ¸ë¥¼ 잠금ì—ì„œ 풉니다 (움ì§ì¼ 수 있습ë‹
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected Node(s)"
-msgstr "ì„ íƒ í•­ëª© 잠금 풀기"
+msgstr "ì„ íƒí•œ 노드 잠금 í•´ì œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9058,9 +8974,8 @@ msgstr "오브ì íŠ¸ì˜ ìžì‹ì„ ì„ íƒí•˜ì§€ ì•Šë„ë¡ í•©ë‹ˆë‹¤."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected Node(s)"
-msgstr "ì„ íƒ í•­ëª© 묶기"
+msgstr "ì„ íƒí•œ 노드 그룹화"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9069,9 +8984,8 @@ msgstr "오브ì íŠ¸ì˜ ìžì‹ì„ ì„ íƒí•  수 있ë„ë¡ ë³µì›í•©ë‹ˆë‹¤."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected Node(s)"
-msgstr "ì„ íƒ í•­ëª© ë¬¶ìŒ í’€ê¸°"
+msgstr "ì„ íƒí•œ 노드 그룹 í•´ì œ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -9096,23 +9010,20 @@ msgid "View"
msgstr "보기"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show"
-msgstr "ê²©ìž ë³´ì´ê¸°"
+msgstr "표시"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show When Snapping"
-msgstr "스마트 스냅"
+msgstr "스냅할 때 표시"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
-msgstr ""
+msgstr "숨김"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid"
-msgstr "모드 토글"
+msgstr "토글 그리드"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -9463,16 +9374,15 @@ msgstr "기울기 편집ë¨"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap GradientTexture2D Fill Points"
-msgstr ""
+msgstr "ê·¸ë¼ë””언트í…스처2D 채우기 í¬ì¸íŠ¸ êµì²´"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
msgid "Swap Gradient Fill Points"
-msgstr ""
+msgstr "ê·¸ë¼ë””언트 채우기 í¬ì¸íŠ¸ êµì²´"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "모드 토글"
+msgstr "토글 그리드 스냅"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9491,13 +9401,12 @@ msgstr "ì•„ì´ì½˜"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "간격:"
+msgstr "분리 기호"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9730,9 +9639,8 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
-msgstr "메시 ë¼ì´ë¸ŒëŸ¬ë¦¬"
+msgstr "메쉬 ë¼ì´ë¸ŒëŸ¬ë¦¬"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Add Item"
@@ -9755,14 +9663,12 @@ msgid "Update from Scene"
msgstr "씬ì—ì„œ ì—…ë°ì´íŠ¸"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply without Transforms"
-msgstr "MeshInstance 변형 ì ìš©"
+msgstr "변환 ì—†ì´ ì ìš©"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply with Transforms"
-msgstr "MeshInstance 변형 ì ìš©"
+msgstr "변환과 함께 ì ìš©"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -10286,7 +10192,7 @@ msgstr "ë³¸ì„ í´ë¦¬ê³¤ì— ë™ê¸°í™”"
#: editor/plugins/ray_cast_2d_editor_plugin.cpp
msgid "Set cast_to"
-msgstr ""
+msgstr "cast_to 설정"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
@@ -10617,57 +10523,51 @@ msgstr "검색 결과"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Dominant Script On Scene Change"
-msgstr ""
+msgstr "장면 변경 ì‹œ 주요 스í¬ë¦½íŠ¸ 열기"
#: editor/plugins/script_editor_plugin.cpp
msgid "External"
-msgstr ""
+msgstr "외부"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Use External Editor"
-msgstr "외부 ì—디터로 디버깅"
+msgstr "외부 편집기 사용"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Exec Path"
-msgstr "경로 내보내기"
+msgstr "실행 경로"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "템플릿 íŒŒì¼ ì„ íƒ"
+msgstr "스í¬ë¦½íŠ¸ ì˜¨ë„ í™œì„±í™”ë¨"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
-msgstr ""
+msgstr "현재 스í¬ë¦½íŠ¸ ê°•ì¡° 표시"
#: editor/plugins/script_editor_plugin.cpp
msgid "Script Temperature History Size"
-msgstr ""
+msgstr "스í¬ë¦½íŠ¸ ì˜¨ë„ ê¸°ë¡ í¬ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Current Script Background Color"
msgstr "현재 스í¬ë¦½íŠ¸ ë°°ê²½ 색"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "ì„ íƒ í•­ëª© 묶기"
+msgstr "그룹 ë„ì›€ë§ íŽ˜ì´ì§€"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "스í¬ë¦½íŠ¸ 만들기"
+msgstr "스í¬ë¦½íŠ¸ ì •ë ¬ 기준"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "List Script Names As"
-msgstr "스í¬ë¦½íŠ¸ ì´ë¦„:"
+msgstr "스í¬ë¦½íŠ¸ ì´ë¦„ 나열"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
-msgstr ""
+msgstr "실행 플래그"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -10823,9 +10723,8 @@ msgid "Find in Files..."
msgstr "파ì¼ì—ì„œ 찾기..."
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Replace in Files..."
-msgstr "바꾸기..."
+msgstr "파ì¼ì—ì„œ 바꾸기..."
#: editor/plugins/script_text_editor.cpp
msgid "Contextual Help"
@@ -11029,15 +10928,13 @@ msgstr "ì´ë™"
#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Scaling:"
-msgstr "í¬ê¸° ì¡°ì ˆ 중: "
+msgstr "스케ì¼ë§:"
#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Translating:"
-msgstr "ì´ë™ 중: "
+msgstr "번역 중:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11185,13 +11082,14 @@ msgstr "시네마틱 미리보기"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "(Not in GLES2)"
-msgstr ""
+msgstr "(GLES2ì—는 ì—†ìŒ)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr "GLES2 ë Œë”러ì—ì„œ 사용할 수 없습니다."
+msgstr ""
+"디버그 그리기 모드는 GLES2ê°€ ì•„ë‹Œ GLES3 ë Œë”러를 사용할 때만 사용할 수 있습니"
+"다."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -11354,16 +11252,15 @@ msgstr "ìžìœ  ì‹œì  í† ê¸€"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Decrease Field of View"
-msgstr ""
+msgstr "시야 ê°ì†Œ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Increase Field of View"
-msgstr ""
+msgstr "시야 확대"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Reset Field of View to Default"
-msgstr "ë””í´íŠ¸ë¡œ 재설정"
+msgstr "시야를 기본값으로 재설정"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Object to Floor"
@@ -11484,16 +11381,15 @@ msgstr "후"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Size"
-msgstr ""
+msgstr "조작기 기즈모 í¬ê¸°"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Opacity"
-msgstr ""
+msgstr "조작기 기즈모 불투명ë„"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport Rotation Gizmo"
-msgstr "뷰 회전 잠금"
+msgstr "ë·°í¬íŠ¸ 회전 기즈모 표시"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
@@ -11544,9 +11440,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "ìž˜ëª»ëœ ì§€ì˜¤ë©”íŠ¸ë¦¬. 메시로 대체할 수 없습니다."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Convert to MeshInstance2D"
-msgstr "Mesh2D로 변환"
+msgstr "메쉬ì¸ìŠ¤í„´ìŠ¤2Dë¡œ 변환"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11577,19 +11472,16 @@ msgid "Sprite"
msgstr "스프ë¼ì´íŠ¸"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Simplification:"
-msgstr "단순화: "
+msgstr "단순화:"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Shrink (Pixels):"
-msgstr "수축 (픽셀): "
+msgstr "축소(픽셀):"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Grow (Pixels):"
-msgstr "성장 (픽셀): "
+msgstr "확대(픽셀):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11652,9 +11544,8 @@ msgid "New Animation"
msgstr "새 애니메ì´ì…˜"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Filter animations"
-msgstr "메서드 필터"
+msgstr "애니메ì´ì…˜ í•„í„°ë§"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
@@ -11953,9 +11844,8 @@ msgstr ""
"무시하고 닫으시겠습니까?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "íƒ€ì¼ ì œê±°"
+msgstr "유형 제거"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -11998,14 +11888,12 @@ msgstr ""
"ì§ì ‘ ë˜ëŠ” 다른 테마ì—ì„œ 가져와서 í…Œë§ˆì— ë” ë§Žì€ í•­ëª©ì„ ì¶”ê°€í•˜ì„¸ìš”."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "항목 타입 추가"
+msgstr "테마 유형 추가"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "항목 제거"
+msgstr "테마 유형 제거"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12120,9 +12008,8 @@ msgid "Select Another Theme Resource:"
msgstr "다른 테마 리소스 ì„ íƒ:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Theme Resource"
-msgstr "리소스 ì´ë¦„ 바꾸기"
+msgstr "테마 리소스"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
@@ -12134,22 +12021,19 @@ msgstr "타입 추가"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Filter the list of types or create a new custom type:"
-msgstr ""
+msgstr "유형 목ë¡ì„ í•„í„°ë§í•˜ê±°ë‚˜ 새 ì‚¬ìš©ìž ì •ì˜ ìœ í˜•ì„ ë§Œë“œì„¸ìš”:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Available Node-based types:"
-msgstr "사용 가능한 프로필:"
+msgstr "사용 가능한 노드 기반 유형:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Type name is empty!"
-msgstr "íŒŒì¼ ì´ë¦„ì´ ë¹„ì—ˆìŠµë‹ˆë‹¤."
+msgstr "유형 ì´ë¦„ì´ ë¹„ì–´ 있습니다!"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Are you sure you want to create an empty type?"
-msgstr "ë‘ ê°œ ì´ìƒì˜ 프로ì íŠ¸ë¥¼ 여시겠습니까?"
+msgstr "빈 ìœ í˜•ì„ ë§Œë“œì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Confirm Item Rename"
@@ -12180,14 +12064,12 @@ msgid "Add Item Type"
msgstr "항목 타입 추가"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Variation Base Type"
-msgstr "변수 타입 설정"
+msgstr "변형 기본 유형 설정"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Set Base Type"
-msgstr "기본 타입 바꾸기"
+msgstr "기본 유형 설정"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
@@ -12207,13 +12089,13 @@ msgstr "모든 ë””í´íŠ¸ 타입 í•­ëª©ì„ ì˜¤ë²„ë¼ì´ë“œí•©ë‹ˆë‹¤."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select the variation base type from a list of available types."
-msgstr ""
+msgstr "사용 가능한 유형 목ë¡ì—ì„œ 변형 기본 ìœ í˜•ì„ ì„ íƒí•©ë‹ˆë‹¤."
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
"A type associated with a built-in class cannot be marked as a variation of "
"another type."
-msgstr ""
+msgstr "내장 í´ëž˜ìŠ¤ì™€ ì—°ê²°ëœ ìœ í˜•ì€ ë‹¤ë¥¸ ìœ í˜•ì˜ ë³€í˜•ìœ¼ë¡œ 표시할 수 없습니다."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -12450,55 +12332,46 @@ msgid "Clear Transform"
msgstr "변형 지우기"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Tile Map"
-msgstr "타ì¼ë§µ 칠하기"
+msgstr "íƒ€ì¼ ë§µ"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Palette Min Width"
-msgstr ""
+msgstr "팔레트 최소 너비"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Palette Item H Separation"
-msgstr "ì´ë¦„ 있는 구분ìž"
+msgstr "팔레트 항목 H 분리"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Names"
-msgstr "모든 ë¡œì¼€ì¼ ë³´ì´ê¸°"
+msgstr "íƒ€ì¼ ì´ë¦„ 표시"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Ids"
-msgstr "ìž ë³´ì´ê¸°"
+msgstr "íƒ€ì¼ ì•„ì´ë”” 표시"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Sort Tiles By Name"
-msgstr "íŒŒì¼ ì •ë ¬"
+msgstr "ì´ë¦„별로 íƒ€ì¼ ì •ë ¬"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill Preview"
-msgstr "버킷 채우기"
+msgstr "버킷 채우기 미리보기"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editor Side"
-msgstr "ì—디터"
+msgstr "편집기 사ì´ë“œ"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Display Grid"
-msgstr "오버드로 표시"
+msgstr "그리드 표시"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Axis Color"
-msgstr "ìƒ‰ìƒ ì„ íƒ"
+msgstr "축 색ìƒ"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -12560,7 +12433,7 @@ msgstr "콜리전"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Occlusion"
-msgstr "오í´ë£¨ì „"
+msgstr "ì°¨í"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/touch_screen_button.cpp
msgid "Bitmask"
@@ -12835,7 +12708,6 @@ msgid "This property can't be changed."
msgstr "ì´ ì†ì„±ì€ 바꿀 수 없습니다."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
msgstr "스냅 설정"
@@ -12845,9 +12717,10 @@ msgstr "스냅 설정"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "오프셋"
@@ -12860,14 +12733,12 @@ msgstr "단계"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "간격:"
+msgstr "분리"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "ì„ íƒ"
+msgstr "ì„ íƒí•œ 타ì¼"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12876,14 +12747,12 @@ msgstr "ì„ íƒ"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "í…스트"
+msgstr "í…스ì³"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "ê²©ìž ì˜¤í”„ì…‹:"
+msgstr "í…스 오프셋"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12893,112 +12762,95 @@ msgstr "머티리얼"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "만들기"
+msgstr "변조"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "모드 토글"
+msgstr "íƒ€ì¼ ëª¨ë“œ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "비트 ë§ˆìŠ¤í¬ ëª¨ë“œ"
+msgstr "ì˜¤í† íƒ€ì¼ ë¹„íŠ¸ë§ˆìŠ¤í¬ ëª¨ë“œ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "윤곽선 í¬ê¸°:"
+msgstr "ì„œë¸Œíƒ€ì¼ í¬ê¸°"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "애니메ì´ì…˜ 반복"
+msgstr "ì„œë¸Œíƒ€ì¼ ê°„ê²©"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Occluder í´ë¦¬ê³¤ 만들기"
+msgstr "오í´ë£¨ë” 오프셋"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "내비게ì´ì…˜ 모드"
+msgstr "내비게ì´ì…˜ 오프셋"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "오프셋:"
+msgstr "모양 오프셋"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "변형"
+msgstr "모양 변형"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "콜리전"
+msgstr "ì„ íƒëœ 충ëŒ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "ì„ íƒ ì˜ì—­ë§Œ"
+msgstr "ì„ íƒëœ 단방향 충ëŒ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "콜리전 모드"
+msgstr "ì„ íƒëœ 단방향 ì¶©ëŒ ì—¬ë°±"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "내비게ì´ì…˜ ë³´ì´ê¸°"
+msgstr "ì„ íƒí•œ 내비게ì´ì…˜"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "ì„ íƒ"
+msgstr "ì„ íƒëœ ì°¨í"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "스í¬ë¦½íŠ¸ í•„í„°"
+msgstr "타ì¼ì…‹ 스í¬ë¦½íŠ¸"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
msgstr "타ì¼ì…‹"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No VCS plugins are available."
-msgstr "ì´ìš©í•  수 있는 버전 관리 시스템(VCS)ì´ ì—†ìŠµë‹ˆë‹¤."
+msgstr "VCS 플러그ì¸ì„ 사용할 수 없습니다."
#: editor/plugins/version_control_editor_plugin.cpp
msgid ""
"Remote settings are empty. VCS features that use the network may not work."
msgstr ""
+"ì›ê²© ì„¤ì •ì´ ë¹„ì–´ 있습니다. 네트워í¬ë¥¼ 사용하는 VCS ê¸°ëŠ¥ì´ ìž‘ë™í•˜ì§€ ì•Šì„ ìˆ˜ 있"
+"습니다."
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No commit message was provided."
-msgstr "ì´ë¦„ì„ ì œê³µí•˜ì§€ 않았습니다."
+msgstr "커밋 메시지가 제공ë˜ì§€ 않았습니다."
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit"
msgstr "커밋"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Staged Changes"
-msgstr "ì…°ì´ë” 바꾸기:"
+msgstr "ë‹¨ê³„ì  ë³€ê²½"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstaged Changes"
-msgstr "ì…°ì´ë” 바꾸기:"
+msgstr "ë¹„ë‹¨ê³„ì  ë³€ê²½"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit:"
@@ -13006,26 +12858,23 @@ msgstr "커밋:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Date:"
-msgstr ""
+msgstr "날짜:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Subtitle:"
-msgstr "하위 트리"
+msgstr "부제:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Do you want to remove the %s branch?"
-msgstr ""
+msgstr "%s 분기를 제거하시겠습니까?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Do you want to remove the %s remote?"
-msgstr "ë‘ ê°œ ì´ìƒì˜ 프로ì íŠ¸ë¥¼ 여시겠습니까?"
+msgstr "%s 리모트를 제거하시겠습니까?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Apply"
-msgstr "재설정 ì ìš©"
+msgstr "ì ìš©"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control System"
@@ -14037,11 +13886,13 @@ msgstr "실행가능"
#: editor/project_export.cpp
msgid "Export the project for all the presets defined."
-msgstr ""
+msgstr "ì •ì˜ëœ 모든 사전 ì„¤ì •ì˜ í”„ë¡œì íŠ¸ë¥¼ 내보냅니다."
#: editor/project_export.cpp
msgid "All presets must have an export path defined for Export All to work."
msgstr ""
+"모든 사전 설정ì—는 ëª¨ë‘ ë‚´ë³´ë‚´ê¸°ê°€ ìž‘ë™í•˜ë„ë¡ ì •ì˜ëœ 내보내기 경로가 있어야 "
+"합니다."
#: editor/project_export.cpp
msgid "Delete preset '%s'?"
@@ -14152,11 +14003,12 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
+"참고: 암호화 키는 ë°”ì´ë„ˆë¦¬ì— 저장ë˜ì–´ì•¼ 하며,\n"
+"소스ì—ì„œ 내보내기 í…œí”Œë¦¿ì„ ë¹Œë“œí•´ì•¼ 합니다."
#: editor/project_export.cpp
-#, fuzzy
msgid "More Info..."
-msgstr "여기로 ì´ë™..."
+msgstr "추가 정보..."
#: editor/project_export.cpp
msgid "Export PCK/Zip..."
@@ -14183,18 +14035,16 @@ msgid "ZIP File"
msgstr "ZIP 파ì¼"
#: editor/project_export.cpp
-#, fuzzy
msgid "Godot Project Pack"
-msgstr "Godot 게임 팩"
+msgstr "Godot 프로ì íŠ¸ 팩"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ëˆ„ë½ë¨:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Project Export"
-msgstr "프로ì íŠ¸ 창립ìž"
+msgstr "프로ì íŠ¸ 내보내기"
#: editor/project_export.cpp
msgid "Manage Export Templates"
@@ -14260,16 +14110,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "ìž˜ëª»ëœ í”„ë¡œì íŠ¸ 경로 (무언가를 변경하셨습니까?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"프로ì íŠ¸ 경로ì—ì„œ project.godotì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다 (오류 %d). 누ë½ë˜ê±°ë‚˜ ì†"
"ìƒëœ 모양입니다."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "프로ì íŠ¸ 경로ì—ì„œ project.godot 파ì¼ì„ 편집할 수 없습니다."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "'%s'ì—ì„œ 프로ì íŠ¸ë¥¼ ì—´ 수 없습니다."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -14501,7 +14352,6 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
msgstr "프로ì íŠ¸ 매니저"
@@ -15255,6 +15105,9 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"ì´ë¯¸ ì¸ìŠ¤í„´ìŠ¤í™”ëœ ìž¥ë©´ì˜ í•˜ìœ„ í•­ëª©ì¸ ë¶„ê¸°ë¥¼ 저장할 수 없습니다.\n"
+"ì´ ë¶„ê¸°ë¥¼ ìžì²´ ìž¥ë©´ì— ì €ìž¥í•˜ë ¤ë©´ ì›ë³¸ ìž¥ë©´ì„ ì—´ê³  ì´ ë¶„ê¸°ë¥¼ 마우스 오른쪽 버"
+"튼으로 í´ë¦­í•œ ë‹¤ìŒ \"분기를 장면으로 저장\"ì„ ì„ íƒí•˜ì„¸ìš”."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -15262,6 +15115,9 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"ìƒì†ëœ ìž¥ë©´ì˜ ì¼ë¶€ì¸ 분기를 저장할 수 없습니다.\n"
+"ì´ ë¶„ê¸°ë¥¼ ìžì²´ ìž¥ë©´ì— ì €ìž¥í•˜ë ¤ë©´ ì›ë³¸ ìž¥ë©´ì„ ì—´ê³  ì´ ë¶„ê¸°ë¥¼ 마우스 오른쪽 버"
+"튼으로 í´ë¦­í•œ ë‹¤ìŒ \"분기를 장면으로 저장\"ì„ ì„ íƒí•˜ì„¸ìš”."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -15291,9 +15147,8 @@ msgid "Enable Scene Unique Name(s)"
msgstr "씬 고유 ì´ë¦„ 활성화"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Unique names already used by another node in the scene:"
-msgstr "ì´ë¯¸ 다른 함수/변수/시그ë„ë¡œ ì‚¬ìš©ëœ ì´ë¦„:"
+msgstr "ìž¥ë©´ì˜ ë‹¤ë¥¸ 노드ì—ì„œ ì´ë¯¸ 사용 ì¤‘ì¸ ê³ ìœ  ì´ë¦„:"
#: editor/scene_tree_dock.cpp
msgid "Disable Scene Unique Name(s)"
@@ -15372,7 +15227,7 @@ msgstr "하위 리소스"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "장면 고유 ì´ë¦„으로 액세스"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
@@ -15469,18 +15324,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "ìƒì†ì„ 지울까요? (ë˜ëŒë¦´ 수 없습니다!)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "ì„ íƒ í•­ëª© 중앙으로"
+msgstr "장면 트리 루트 ì„ íƒ í‘œì‹œ"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
-msgstr ""
+msgstr "ì´ë¦„으로 스í¬ë¦½íŠ¸ ì „ì—­ 파ìƒ"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "프레임 ì„ íƒ"
+msgstr "ì¦ê²¨ì°¾ê¸° 루트 ì„ íƒ ì‚¬ìš©"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15512,6 +15365,9 @@ msgid ""
"with the '%s' prefix in a node path.\n"
"Click to disable this."
msgstr ""
+"ì´ ë…¸ë“œëŠ” 노드 경로ì—ì„œ '%s' ì ‘ë‘사를 ì•žì— ë¶™ì—¬ ìž¥ë©´ì˜ ì–´ëŠ ê³³ì—서나 액세스"
+"할 수 있습니다.\n"
+"비활성화하려면 í´ë¦­í•˜ì„¸ìš”."
#: editor/scene_tree_editor.cpp
msgid ""
@@ -15575,7 +15431,7 @@ msgstr "ìž˜ëª»ëœ ë…¸ë“œ ì´ë¦„입니다. ë‹¤ìŒ ë¬¸ìžëŠ” 허용하지 않습ë‹
#: editor/scene_tree_editor.cpp
msgid "Another node already uses this unique name in the scene."
-msgstr ""
+msgstr "다른 노드가 ì´ë¯¸ 장면ì—ì„œ ì´ ê³ ìœ í•œ ì´ë¦„ì„ ì‚¬ìš©í•˜ê³  있습니다."
#: editor/scene_tree_editor.cpp
msgid "Rename Node"
@@ -15802,21 +15658,20 @@ msgid "Stack Frames"
msgstr "ìŠ¤íƒ í”„ë ˆìž„"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Filter stack variables"
-msgstr "íƒ€ì¼ í•„í„°"
+msgstr "ìŠ¤íƒ ë³€ìˆ˜ í•„í„°ë§"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
-msgstr ""
+msgstr "ì›ê²© 장면 트리로 ìžë™ 전환"
#: editor/script_editor_debugger.cpp
msgid "Remote Scene Tree Refresh Interval"
-msgstr ""
+msgstr "ì›ê²© 장면 트리 새로 고침 간격"
#: editor/script_editor_debugger.cpp
msgid "Remote Inspect Refresh Interval"
-msgstr ""
+msgstr "ì›ê²© 검사 새로 고침 간격"
#: editor/script_editor_debugger.cpp
msgid "Network Profiler"
@@ -15914,7 +15769,7 @@ msgstr "ë¼ì´íŠ¸ 반경 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Stream Player 3D"
-msgstr ""
+msgstr "스트림 플레ì´ì–´ 3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -15924,7 +15779,7 @@ msgstr "AudioStreamPlayer3D 방출 ê°ë„ 바꾸기"
#: platform/osx/export/export.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Camera"
-msgstr ""
+msgstr "ì¹´ë©”ë¼"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
@@ -15936,7 +15791,7 @@ msgstr "ì¹´ë©”ë¼ í¬ê¸° 바꾸기"
#: editor/spatial_editor_gizmos.cpp
msgid "Visibility Notifier"
-msgstr ""
+msgstr "가시성 알리미"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Notifier AABB"
@@ -15947,18 +15802,16 @@ msgid "Change Particles AABB"
msgstr "íŒŒí‹°í´ AABB 바꾸기"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Reflection Probe"
-msgstr "ì†ì„± ì„ íƒ"
+msgstr "반사 프로브"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Probe Extents"
msgstr "프로브 범위 바꾸기"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "GI Probe"
-msgstr "GI 프로브 굽기"
+msgstr "GI 프로브"
#: editor/spatial_editor_gizmos.cpp
msgid "Baked Indirect Light"
@@ -15993,57 +15846,52 @@ msgid "Change Ray Shape Length"
msgstr "ê´‘ì„  모양 ê¸¸ì´ ë°”ê¾¸ê¸°"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge"
-msgstr "내비게ì´ì…˜ 모드"
+msgstr "내비게ì´ì…˜ 엣지"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Edge Disabled"
-msgstr "내비게ì´ì…˜ 모드"
+msgstr "내비게ì´ì…˜ 엣지 비활성화"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid"
-msgstr "내비게ì´ì…˜ 모드"
+msgstr "내비게ì´ì…˜ 솔리드"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Navigation Solid Disabled"
-msgstr "내비게ì´ì…˜ 모드"
+msgstr "내비게ì´ì…˜ 솔리드 비활성화ë¨"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body A"
-msgstr ""
+msgstr "ì¡°ì¸íŠ¸ 바디 A"
#: editor/spatial_editor_gizmos.cpp
msgid "Joint Body B"
-msgstr ""
+msgstr "ì¡°ì¸íŠ¸ 바디 B"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Edge"
-msgstr ""
+msgstr "ë°© 가장ìžë¦¬"
#: editor/spatial_editor_gizmos.cpp
msgid "Room Overlap"
-msgstr ""
+msgstr "룸 겹침"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Room Point Position"
-msgstr "룸 ì  ìœ„ì¹˜ 설정"
+msgstr "룸 í¬ì¸íŠ¸ 위치 설정"
#: editor/spatial_editor_gizmos.cpp scene/3d/portal.cpp
-#, fuzzy
msgid "Portal Margin"
-msgstr "여백 설정"
+msgstr "í¬í„¸ 여백"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Edge"
-msgstr ""
+msgstr "í¬í„¸ 엣지"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Arrow"
-msgstr ""
+msgstr "í¬í„¸ 애로우"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Portal Point Position"
@@ -16051,18 +15899,16 @@ msgstr "í¬í„¸ ì  ìœ„ì¹˜ 설정"
#: editor/spatial_editor_gizmos.cpp
msgid "Portal Front"
-msgstr ""
+msgstr "í¬í„¸ ì „ë©´"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Portal Back"
-msgstr "뒤로"
+msgstr "í¬í„¸ 뒤로"
#: editor/spatial_editor_gizmos.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Occluder"
-msgstr "ì–´í´ë£¨ì „ 모드"
+msgstr "오í´ë£¨ë”"
#: editor/spatial_editor_gizmos.cpp
msgid "Set Occluder Sphere Radius"
@@ -16073,109 +15919,98 @@ msgid "Set Occluder Sphere Position"
msgstr "ì–´í´ë£¨ë” 구체 위치 설정"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "í¬í„¸ ì  ìœ„ì¹˜ 설정"
+msgstr "오í´ë£¨ë” í´ë¦¬ê³¤ í¬ì¸íŠ¸ 위치 설정"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "곡선 ì  ìœ„ì¹˜ 설정"
+msgstr "오í´ë£¨ë” 홀 í¬ì¸íŠ¸ 위치 설정"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Front"
-msgstr "Occluder í´ë¦¬ê³¤ 만들기"
+msgstr "오í´ë£¨ë” í´ë¦¬ê³¤ 프론트"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "Occluder í´ë¦¬ê³¤ 만들기"
+msgstr "오í´ë£¨ë” í´ë¦¬ê³¤ ë°±"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Hole"
-msgstr "Occluder í´ë¦¬ê³¤ 만들기"
+msgstr "오í´ë£¨ë” 홀"
#: main/main.cpp
msgid "Godot Physics"
-msgstr ""
+msgstr "Godot 물리"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
msgid "Use BVH"
-msgstr ""
+msgstr "BVH 사용"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "BVH Collision Margin"
-msgstr "콜리전 모드"
+msgstr "BVH ì¶©ëŒ ì—¬ë°±"
#: main/main.cpp
-#, fuzzy
msgid "Crash Handler"
-msgstr "핸들 설정"
+msgstr "ì¶©ëŒ ì²˜ë¦¬ê¸°"
#: main/main.cpp
-#, fuzzy
msgid "Multithreaded Server"
-msgstr "다중 노드 설정"
+msgstr "멀티스레드 서버"
#: main/main.cpp
msgid "RID Pool Prealloc"
-msgstr ""
+msgstr "RID 풀 사전 할당"
#: main/main.cpp
-#, fuzzy
msgid "Debugger stdout"
-msgstr "디버거"
+msgstr "디버거 표준 출력"
#: main/main.cpp
msgid "Max Chars Per Second"
-msgstr ""
+msgstr "초당 최대 문ìž"
#: main/main.cpp
msgid "Max Messages Per Frame"
-msgstr ""
+msgstr "프레임당 최대 메시지"
#: main/main.cpp
msgid "Max Errors Per Second"
-msgstr ""
+msgstr "초당 최대 오류"
#: main/main.cpp
msgid "Max Warnings Per Second"
-msgstr ""
+msgstr "초당 최대 경고"
#: main/main.cpp
msgid "Flush stdout On Print"
-msgstr ""
+msgstr "ì¸ì‡„ ì‹œ stdout 플러시"
#: main/main.cpp servers/visual_server.cpp
msgid "Logging"
-msgstr ""
+msgstr "로깅"
#: main/main.cpp
msgid "File Logging"
-msgstr ""
+msgstr "íŒŒì¼ ë¡œê¹…"
#: main/main.cpp
-#, fuzzy
msgid "Enable File Logging"
-msgstr "필터 활성화"
+msgstr "íŒŒì¼ ë¡œê¹… 활성화"
#: main/main.cpp
-#, fuzzy
msgid "Log Path"
-msgstr "경로 복사"
+msgstr "로그 경로"
#: main/main.cpp
msgid "Max Log Files"
-msgstr ""
+msgstr "최대 로그 파ì¼"
#: main/main.cpp
msgid "Driver"
-msgstr ""
+msgstr "ë“œë¼ì´ë²„"
#: main/main.cpp
msgid "Driver Name"
@@ -16183,85 +16018,77 @@ msgstr "ë“œë¼ì´ë²„ ì´ë¦„"
#: main/main.cpp
msgid "Fallback To GLES2"
-msgstr ""
+msgstr "GLES2로 대체"
#: main/main.cpp
msgid "Use Nvidia Rect Flicker Workaround"
-msgstr ""
+msgstr "Nvidia Rect 깜박임 해결 방법 사용"
#: main/main.cpp
msgid "DPI"
-msgstr ""
+msgstr "DPI"
#: main/main.cpp
msgid "Allow hiDPI"
-msgstr ""
+msgstr "hiDPI 허용"
#: main/main.cpp
-#, fuzzy
msgid "V-Sync"
-msgstr "ë™ê¸°í™”"
+msgstr "수ì§ë™ê¸°í™”"
#: main/main.cpp
-#, fuzzy
msgid "Use V-Sync"
-msgstr "스냅 사용"
+msgstr "V-Sync 사용"
#: main/main.cpp
msgid "Per Pixel Transparency"
-msgstr ""
+msgstr "픽셀당 투명ë„"
#: main/main.cpp
msgid "Allowed"
-msgstr ""
+msgstr "허용ë¨"
#: main/main.cpp
msgid "Intended Usage"
-msgstr ""
+msgstr "사용 목ì "
#: main/main.cpp
-#, fuzzy
msgid "Framebuffer Allocation"
-msgstr "프레임 ì„ íƒ"
+msgstr "프레임 ë²„í¼ í• ë‹¹"
#: main/main.cpp platform/uwp/os_uwp.cpp
-#, fuzzy
msgid "Energy Saving"
-msgstr "저장 중 오류"
+msgstr "ì—너지 절약"
#: main/main.cpp
msgid "Threads"
-msgstr ""
+msgstr "스레드"
#: main/main.cpp servers/physics_2d/physics_2d_server_wrap_mt.h
-#, fuzzy
msgid "Thread Model"
-msgstr "모드 토글"
+msgstr "스레드 모ë¸"
#: main/main.cpp
msgid "Thread Safe BVH"
-msgstr ""
+msgstr "스레드 세ì´í”„ BVH"
#: main/main.cpp
msgid "Handheld"
-msgstr ""
+msgstr "휴대용"
#: main/main.cpp platform/javascript/export/export.cpp
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Orientation"
-msgstr "온ë¼ì¸ 문서"
+msgstr "오리엔테ì´ì…˜"
#: main/main.cpp scene/gui/scroll_container.cpp scene/gui/text_edit.cpp
#: scene/main/scene_tree.cpp scene/register_scene_types.cpp
-#, fuzzy
msgid "Common"
-msgstr "커뮤니티"
+msgstr "ì¼ë°˜"
#: main/main.cpp
-#, fuzzy
msgid "Physics FPS"
-msgstr "물리 프레임 %"
+msgstr "물리 FPS"
#: main/main.cpp
msgid "Force FPS"
@@ -16269,177 +16096,163 @@ msgstr "FPS 강제"
#: main/main.cpp
msgid "Enable Pause Aware Picking"
-msgstr ""
+msgstr "ì¼ì‹œ 중지 ì¸ì‹ ì„ íƒ í™œì„±í™”"
#: main/main.cpp scene/gui/item_list.cpp scene/gui/popup_menu.cpp
#: scene/gui/scroll_container.cpp scene/gui/text_edit.cpp scene/gui/tree.cpp
#: scene/main/viewport.cpp scene/register_scene_types.cpp
msgid "GUI"
-msgstr ""
+msgstr "GUI"
#: main/main.cpp
msgid "Drop Mouse On GUI Input Disabled"
-msgstr ""
+msgstr "GUI ìž…ë ¥ ì‹œ 마우스 놓기 비활성화ë¨"
#: main/main.cpp
msgid "stdout"
-msgstr ""
+msgstr "표준 출력"
#: main/main.cpp
msgid "Print FPS"
-msgstr ""
+msgstr "FPS ì¸ì‡„"
#: main/main.cpp
msgid "Verbose stdout"
-msgstr ""
+msgstr "ìžì„¸í•œ 표준 출력"
#: main/main.cpp scene/main/scene_tree.cpp scene/resources/multimesh.cpp
-#, fuzzy
msgid "Physics Interpolation"
-msgstr "보간 모드"
+msgstr "물리 보간"
#: main/main.cpp
-#, fuzzy
msgid "Enable Warnings"
-msgstr "필터 활성화"
+msgstr "경고 활성화"
#: main/main.cpp
-#, fuzzy
msgid "Frame Delay Msec"
-msgstr "프레임 ì„ íƒ"
+msgstr "프레임 지연 Msec"
#: main/main.cpp
msgid "Low Processor Mode"
-msgstr ""
+msgstr "ë‚®ì€ í”„ë¡œì„¸ì„œ 모드"
#: main/main.cpp
msgid "Delta Sync After Draw"
-msgstr ""
+msgstr "그리기 후 ë¸íƒ€ ë™ê¸°í™”"
#: main/main.cpp
msgid "iOS"
-msgstr ""
+msgstr "iOS"
#: main/main.cpp
msgid "Hide Home Indicator"
-msgstr ""
+msgstr "홈 표시기 숨기기"
#: main/main.cpp
-#, fuzzy
msgid "Input Devices"
-msgstr "모든 기기"
+msgstr "입력 장치"
#: main/main.cpp
-#, fuzzy
msgid "Pointing"
-msgstr "ì "
+msgstr "í¬ì¸íŒ…"
#: main/main.cpp
msgid "Touch Delay"
-msgstr ""
+msgstr "터치 지연"
#: main/main.cpp servers/visual_server.cpp
msgid "GLES3"
-msgstr ""
+msgstr "GLES3"
#: main/main.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Shaders"
msgstr "ì…°ì´ë”"
#: main/main.cpp
msgid "Debug Shader Fallbacks"
-msgstr ""
+msgstr "ì…°ì´ë” í´ë°± 디버그"
#: main/main.cpp scene/3d/baked_lightmap.cpp scene/3d/camera.cpp
#: scene/3d/world_environment.cpp scene/main/scene_tree.cpp
#: scene/resources/world.cpp
-#, fuzzy
msgid "Environment"
-msgstr "환경 보기"
+msgstr "환경"
#: main/main.cpp
msgid "Default Clear Color"
-msgstr ""
+msgstr "기본 í´ë¦¬ì–´ 컬러"
#: main/main.cpp
msgid "Boot Splash"
-msgstr ""
+msgstr "부트 스플래쉬"
#: main/main.cpp
-#, fuzzy
msgid "Show Image"
-msgstr "본 ë³´ì´ê¸°"
+msgstr "ì´ë¯¸ì§€ 표시"
#: main/main.cpp
msgid "Image"
-msgstr ""
+msgstr "ì˜ìƒ"
#: main/main.cpp
msgid "Fullsize"
-msgstr ""
+msgstr "ì „ì²´ í¬ê¸°"
#: main/main.cpp scene/resources/dynamic_font.cpp
msgid "Use Filter"
msgstr "필터 사용"
#: main/main.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "BG Color"
-msgstr "색ìƒ"
+msgstr "배경색"
#: main/main.cpp
-#, fuzzy
msgid "macOS Native Icon"
-msgstr "íƒ€ì¼ ì•„ì´ì½˜ 설정"
+msgstr "맥OS 네ì´í‹°ë¸Œ ì•„ì´ì½˜"
#: main/main.cpp
msgid "Windows Native Icon"
-msgstr ""
+msgstr "윈ë„ìš° 네ì´í‹°ë¸Œ ì•„ì´ì½˜"
#: main/main.cpp
msgid "Buffering"
-msgstr ""
+msgstr "버í¼ë§"
#: main/main.cpp
msgid "Agile Event Flushing"
-msgstr ""
+msgstr "ì• ìžì¼ ì´ë²¤íŠ¸ 플러싱"
#: main/main.cpp
msgid "Emulate Touch From Mouse"
-msgstr ""
+msgstr "마우스 터치 ì—뮬레ì´íŠ¸"
#: main/main.cpp
msgid "Emulate Mouse From Touch"
-msgstr ""
+msgstr "터치로 마우스 ì—뮬레ì´íŠ¸"
#: main/main.cpp
-#, fuzzy
msgid "Mouse Cursor"
-msgstr "마우스 버튼"
+msgstr "마우스 커서"
#: main/main.cpp
-#, fuzzy
msgid "Custom Image"
-msgstr "노드 잘ë¼ë‚´ê¸°"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì´ë¯¸ì§€"
#: main/main.cpp
msgid "Custom Image Hotspot"
-msgstr ""
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì´ë¯¸ì§€ 핫스팟"
#: main/main.cpp
msgid "Tooltip Position Offset"
msgstr "íˆ´íŒ ìœ„ì¹˜ 오프셋"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Debugger Agent"
-msgstr "디버거"
+msgstr "디버거 ì—ì´ì „트"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
-#, fuzzy
msgid "Wait For Debugger"
-msgstr "디버거"
+msgstr "디버거 대기"
#: main/main.cpp modules/mono/mono_gd/gd_mono.cpp
msgid "Wait Timeout"
@@ -16447,60 +16260,56 @@ msgstr "대기 타임아웃"
#: main/main.cpp
msgid "Runtime"
-msgstr ""
+msgstr "런타임"
#: main/main.cpp
msgid "Unhandled Exception Policy"
-msgstr ""
+msgstr "처리ë˜ì§€ ì•Šì€ ì˜ˆì™¸ ì •ì±…"
#: main/main.cpp
-#, fuzzy
msgid "Main Loop Type"
-msgstr "노드 타입 찾기"
+msgstr "ë©”ì¸ ë£¨í”„ 유형"
#: main/main.cpp scene/gui/texture_progress.cpp
#: scene/gui/viewport_container.cpp
msgid "Stretch"
-msgstr ""
+msgstr "스트레치"
#: main/main.cpp
-#, fuzzy
msgid "Aspect"
-msgstr "ì¸ìŠ¤íŽ™í„°"
+msgstr "ì–‘ìƒ"
#: main/main.cpp
msgid "Shrink"
-msgstr ""
+msgstr "수축"
#: main/main.cpp scene/main/scene_tree.cpp
msgid "Auto Accept Quit"
-msgstr ""
+msgstr "ìžë™ ìˆ˜ë½ ì¢…ë£Œ"
#: main/main.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Quit On Go Back"
-msgstr "뒤로"
+msgstr "ëŒì•„가면서 종료"
#: main/main.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Snap Controls To Pixels"
-msgstr "노드 ì˜†ë©´ì— ìŠ¤ëƒ…"
+msgstr "í”½ì…€ì— ì»¨íŠ¸ë¡¤ 스냅"
#: main/main.cpp
msgid "Dynamic Fonts"
-msgstr ""
+msgstr "ë™ì  글꼴"
#: main/main.cpp
msgid "Use Oversampling"
-msgstr ""
+msgstr "ì˜¤ë²„ìƒ˜í”Œë§ ì‚¬ìš©"
#: modules/bullet/register_types.cpp modules/bullet/space_bullet.cpp
msgid "Active Soft World"
-msgstr ""
+msgstr "액티브 소프트 월드"
#: modules/csg/csg_gizmos.cpp
msgid "CSG"
-msgstr ""
+msgstr "CSG"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -16519,35 +16328,30 @@ msgid "Change Torus Outer Radius"
msgstr "ë„ë„› 외부 반지름 바꾸기"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Operation"
-msgstr "설정"
+msgstr "오í¼ë ˆì´ì…˜"
#: modules/csg/csg_shape.cpp
msgid "Calculate Tangents"
-msgstr ""
+msgstr "접선 계산"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "콜리전"
+msgstr "ì¶©ëŒ ì‚¬ìš©"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "콜리전 모드"
+msgstr "ì¶©ëŒ ë ˆì´ì–´"
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "콜리전 모드"
+msgstr "ì¶©ëŒ ë§ˆìŠ¤í¬"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Invert Faces"
-msgstr "ëŒ€ì†Œë¬¸ìž ë³€í™˜"
+msgstr "면 반전"
#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
@@ -16561,170 +16365,147 @@ msgid "Radius"
msgstr "반지름"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Radial Segments"
-msgstr "ë©”ì¸ ì”¬ ì¸ìˆ˜:"
+msgstr "방사형 세그먼트"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Rings"
-msgstr "경고"
+msgstr "ë§"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Smooth Faces"
-msgstr "부드러운 단계"
+msgstr "부드러운 얼굴"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Sides"
-msgstr "ê°€ì´ë“œ ë³´ì´ê¸°"
+msgstr "사ì´ë“œ"
#: modules/csg/csg_shape.cpp
msgid "Cone"
-msgstr ""
+msgstr "ì›ë¿”"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Inner Radius"
-msgstr "ë„ë„› 내부 반지름 바꾸기"
+msgstr "내부 반경"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Outer Radius"
-msgstr "ë„ë„› 외부 반지름 바꾸기"
+msgstr "외부 반경"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
-msgstr ""
+msgstr "ë§ ì‚¬ì´ë“œ"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
#: scene/3d/collision_polygon.cpp
-#, fuzzy
msgid "Polygon"
msgstr "í´ë¦¬ê³¤"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
-msgstr ""
+msgstr "회전 ì •ë„"
#: modules/csg/csg_shape.cpp
msgid "Spin Sides"
-msgstr ""
+msgstr "스핀 사ì´ë“œ"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "노드 붙여넣기"
+msgstr "경로 노드"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Interval Type"
-msgstr "내부 ê¼­ì§“ì  ë§Œë“¤ê¸°"
+msgstr "경로 간격 유형"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
-msgstr ""
+msgstr "경로 간격"
#: modules/csg/csg_shape.cpp
msgid "Path Simplify Angle"
-msgstr ""
+msgstr "경로 단순화 ê°ë„"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Rotation"
-msgstr "무작위 회전:"
+msgstr "경로 회전"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Local"
-msgstr "로컬로 만들기"
+msgstr "경로 로컬"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Continuous U"
-msgstr "ì—°ì†ì "
+msgstr "경로 ì—°ì† U"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path U Distance"
-msgstr "거리 ì„ íƒ:"
+msgstr "경로 U 거리"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Joined"
-msgstr "무작위 회전:"
+msgstr "ê²°í•©ëœ ê²½ë¡œ"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Compression Mode"
-msgstr "콜리전 모드"
+msgstr "압축 모드"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Transfer Channel"
-msgstr "변형 바꾸기"
+msgstr "전송 채ë„"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Channel Count"
-msgstr "ì¸ìŠ¤í„´ìŠ¤í•˜ê¸°"
+msgstr "ì±„ë„ ì¹´ìš´íŠ¸"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Always Ordered"
-msgstr "í•­ìƒ ê²©ìž ë³´ì´ê¸°"
+msgstr "í•­ìƒ ì£¼ë¬¸"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
-msgstr ""
+msgstr "서버 릴레ì´"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Verify"
-msgstr ""
+msgstr "DTLS 확ì¸"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "DTLS Hostname"
-msgstr ""
+msgstr "DTLS 호스트 ì´ë¦„"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Use DTLS"
-msgstr "스냅 사용"
+msgstr "DTLS 사용"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
-msgstr ""
+msgstr "FBX"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "Use FBX"
-msgstr ""
+msgstr "FBX 사용"
#: modules/gdnative/gdnative.cpp
msgid "Config File"
msgstr "설정 파ì¼"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Load Once"
-msgstr "리소스 불러오기"
+msgstr "한 번 로드"
#: modules/gdnative/gdnative.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Singleton"
-msgstr "스켈레톤"
+msgstr "싱글톤"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Symbol Prefix"
-msgstr "ì ‘ë‘사:"
+msgstr "기호 ì ‘ë‘ì–´"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Reloadable"
-msgstr "새로고침"
+msgstr "다시 로드 가능"
#: modules/gdnative/gdnative.cpp
#: modules/gdnative/gdnative_library_singleton_editor.cpp
@@ -16789,9 +16570,8 @@ msgid "Script Class"
msgstr "스í¬ë¦½íŠ¸ í´ëž˜ìŠ¤"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "경로 í¬ì»¤ìŠ¤"
+msgstr "ì•„ì´ì½˜ 경로"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -16799,34 +16579,32 @@ msgstr "GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "스í¬ë¦½íŠ¸"
+msgstr "GD스í¬ë¦½íŠ¸"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
-msgstr ""
+msgstr "함수 ì •ì˜ ìƒ‰ìƒ"
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Node Path Color"
-msgstr "노드 경로 복사"
+msgstr "노드 경로 색ìƒ"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
-msgstr ""
+msgstr "최대 호출 스íƒ"
#: modules/gdscript/gdscript.cpp
msgid "Treat Warnings As Errors"
-msgstr ""
+msgstr "경고를 오류로 처리"
#: modules/gdscript/gdscript.cpp
msgid "Exclude Addons"
-msgstr ""
+msgstr "애드온 제외"
#: modules/gdscript/gdscript.cpp
msgid "Autocomplete Setters And Getters"
-msgstr ""
+msgstr "ìžë™ 완성 ì„¤ì •ìž ë° ê²Œí„°"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -16869,17 +16647,16 @@ msgid "Language Server"
msgstr "언어 서버"
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Enable Smart Resolve"
-msgstr "í•´ê²°í•  수 ì—†ìŒ"
+msgstr "스마트 해결 활성화"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Show Native Symbols In Editor"
-msgstr ""
+msgstr "편집기ì—ì„œ 기본 기호 표시"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Use Thread"
-msgstr ""
+msgstr "스레드 사용"
#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
msgid "Export Mesh GLTF2"
@@ -16890,96 +16667,84 @@ msgid "Export GLTF..."
msgstr "GLTF 내보내기..."
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Buffer View"
-msgstr "후면 뷰"
+msgstr "ë²„í¼ ë³´ê¸°"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
msgid "Byte Offset"
msgstr "ë°”ì´íŠ¸ 오프셋"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "구성 요소"
+msgstr "구성 요소 유형"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Normalized"
-msgstr "형ì‹"
+msgstr "정규화"
#: modules/gltf/gltf_accessor.cpp
msgid "Count"
msgstr "ì–‘"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "MiB"
+msgstr "최소"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "믹스"
+msgstr "최대"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "ì¸ìŠ¤í„´ìŠ¤í•˜ê¸°"
+msgstr "í¬ì†Œ 카운트"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
-msgstr ""
+msgstr "í¬ì†Œ ì¸ë±ìŠ¤ ë²„í¼ ë³´ê¸°"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Byte Offset"
-msgstr ""
+msgstr "í¬ì†Œ ì¸ë±ìŠ¤ ë°”ì´íŠ¸ 오프셋"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Indices Component Type"
-msgstr "지오메트리 ë¶„ì„ ì¤‘..."
+msgstr "í¬ì†Œ ì¸ë±ìŠ¤ 구성 요소 유형"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
-msgstr ""
+msgstr "í¬ì†Œ ê°’ ë²„í¼ ë³´ê¸°"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Byte Offset"
-msgstr ""
+msgstr "í¬ì†Œ ê°’ ë°”ì´íŠ¸ 오프셋"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Buffer"
-msgstr "후면 뷰"
+msgstr "버í¼"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Length"
-msgstr "ë””í´íŠ¸ 테마"
+msgstr "ë°”ì´íŠ¸ 길ì´"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
-msgstr ""
+msgstr "ë°”ì´íŠ¸ 스트ë¼ì´ë“œ"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Indices"
-msgstr "모든 기기"
+msgstr "ì¸ë±ìŠ¤"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "FOV Size"
-msgstr "í¬ê¸°:"
+msgstr "FOV í¬ê¸°"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
-msgstr ""
+msgstr "Z 멀리"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "Znear"
-msgstr "ì§ì„ í˜•"
+msgstr "Z 근처"
#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
@@ -16989,273 +16754,239 @@ msgstr "ì§ì„ í˜•"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Color"
msgstr "색ìƒ"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
msgid "Intensity"
-msgstr ""
+msgstr "강함"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "바꾸기"
+msgstr "범위"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
-msgstr ""
+msgstr "내부 ì›ë¿” ê°ë„"
#: modules/gltf/gltf_light.cpp
msgid "Outer Cone Angle"
-msgstr ""
+msgstr "외부 ì›ë¿” ê°ë„"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Blend Weights"
-msgstr "ë¼ì´íŠ¸ë§µ 굽기"
+msgstr "혼합 가중치"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Instance Materials"
-msgstr "머티리얼 바꾸기:"
+msgstr "ì¸ìŠ¤í„´ìŠ¤ 재료"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Parent"
-msgstr "부모 다시 지정"
+msgstr "부모"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Xform"
-msgstr "플랫í¼"
+msgstr "변형"
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
-msgstr ""
+msgstr "스킨"
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Translation"
msgstr "번역"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Children"
-msgstr "편집할 수 있는 ìžì‹"
+msgstr "어린ì´"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints"
-msgstr "ì "
+msgstr "관절"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
-msgstr ""
+msgstr "루트"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_state.cpp
msgid "Unique Names"
-msgstr ""
+msgstr "고유한 ì´ë¦„"
#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
msgid "Godot Bone Node"
-msgstr "시간 íƒìƒ‰ 노드"
+msgstr "Godot 본 노드"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Skin Root"
-msgstr "새 씬 루트"
+msgstr "스킨 루트"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints Original"
-msgstr "ì›ì  í¬ì»¤ìŠ¤"
+msgstr "관절 ì›ë³¸"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
-msgstr ""
+msgstr "ì—­ê²°í•©"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "관절 ì´ë™"
+msgstr "비 관절"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
-msgstr ""
+msgstr "관절 Iì—ì„œ 뼈 I"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Name"
-msgstr ""
+msgstr "관절 I ì´ë¦„"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
-msgstr ""
+msgstr "Godot 스킨"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Img"
-msgstr ""
+msgstr "확산 ì´ë¯¸ì§€"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Factor"
-msgstr ""
+msgstr "확산 계수"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
-msgstr ""
+msgstr "ê´‘íƒ ê³„ìˆ˜"
#: modules/gltf/gltf_spec_gloss.cpp
-#, fuzzy
msgid "Specular Factor"
-msgstr "ìŠ¤ì¹¼ë¼ ì—°ì‚°ìž."
+msgstr "반사 ì¸ìž"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Spec Gloss Img"
-msgstr ""
+msgstr "반사광 ì´ë¯¸ì§€"
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr ""
+msgstr "Json"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "버전"
+msgstr "ë©”ì´ì € 버전"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "버전"
+msgstr "마ì´ë„ˆ 버전"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "GLB Data"
-msgstr "ë°ì´í„°ì™€ 함께"
+msgstr "GLB ë°ì´í„°"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
-msgstr ""
+msgstr "네임드 스킨 ë°”ì¸ë”© 사용"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Buffer Views"
-msgstr "후면 뷰"
+msgstr "ë²„í¼ ë³´ê¸°"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
-msgstr ""
+msgstr "ì ‘ê·¼ìž"
#: modules/gltf/gltf_state.cpp
msgid "Scene Name"
msgstr "씬 ì´ë¦„"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Root Nodes"
-msgstr "루트 노드 ì´ë¦„"
+msgstr "루트 노드"
#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Textures"
-msgstr "기능"
+msgstr "í…스처"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
-msgstr ""
+msgstr "ì´ë¯¸ì§€"
#: modules/gltf/gltf_state.cpp
msgid "Cameras"
-msgstr ""
+msgstr "ì¹´ë©”ë¼"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "ë¼ì´íŠ¸"
+msgstr "ë¹›"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "새 애니메ì´ì…˜ ì´ë¦„:"
+msgstr "고유한 애니메ì´ì…˜ ì´ë¦„"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeletons"
msgstr "스켈레톤"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "노드를 ì„ íƒí•˜ì„¸ìš”"
+msgstr "스켈레톤ì—ì„œ 노드로"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Animations"
-msgstr "애니메ì´ì…˜:"
+msgstr "애니메ì´ì…˜"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "본 ë³´ì´ê¸°"
+msgstr "SRC ì´ë¯¸ì§€"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
msgstr "메시 ë¼ì´ë¸ŒëŸ¬ë¦¬"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Physics Material"
-msgstr "물리 프레임 %"
+msgstr "물리 재료"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Use In Baked Light"
-msgstr "ë¼ì´íŠ¸ë§µ 굽기"
+msgstr "ë² ì´í‚¹ ë¼ì´íŠ¸ì—ì„œ 사용"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
msgid "Cell"
-msgstr ""
+msgstr "ì…€"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Octant Size"
-msgstr "ì •ë©´ ë·°"
+msgstr "옥탄트 í¬ê¸°"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "중앙"
+msgstr "중앙 X"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "중앙"
+msgstr "중앙 Y"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "중앙"
+msgstr "중앙 Z"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
#: scene/resources/material.cpp
msgid "Mask"
-msgstr ""
+msgstr "마스í¬"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#, fuzzy
msgid "Bake Navigation"
-msgstr "네비게ì´ì…˜"
+msgstr "ë² ì´í¬ 내비게ì´ì…˜"
#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
#: scene/3d/navigation_mesh_instance.cpp
-#, fuzzy
msgid "Navigation Layers"
-msgstr "내비게ì´ì…˜ ê°ë„"
+msgstr "내비게ì´ì…˜ ë ˆì´ì–´"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -17414,63 +17145,59 @@ msgid "Plotting lightmaps"
msgstr "ë¼ì´íŠ¸ë§µ 그리는 중"
#: modules/lightmapper_cpu/register_types.cpp
-#, fuzzy
msgid "CPU Lightmapper"
-msgstr "ë¼ì´íŠ¸ë§µ 굽기"
+msgstr "CPU ë¼ì´íŠ¸ë§¤í¼"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
-msgstr ""
+msgstr "ë‚®ì€ í’ˆì§ˆì˜ ê´‘ì„  수"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Medium Quality Ray Count"
-msgstr ""
+msgstr "중간 품질 광선 수"
#: modules/lightmapper_cpu/register_types.cpp
msgid "High Quality Ray Count"
-msgstr ""
+msgstr "고품질 광선 수"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Ultra Quality Ray Count"
-msgstr ""
+msgstr "초고품질 광선 수"
#: modules/minimp3/audio_stream_mp3.cpp
#: modules/minimp3/resource_importer_mp3.cpp
#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-#, fuzzy
msgid "Loop Offset"
-msgstr "오프셋:"
+msgstr "루프 오프셋"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
-msgstr ""
+msgstr "눈 높ì´"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "IOD"
-msgstr ""
+msgstr "IOD"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display Width"
-msgstr "와ì´ì–´í”„레임 표시"
+msgstr "ë””ìŠ¤í”Œë ˆì´ ë„ˆë¹„"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display To Lens"
-msgstr "ì…°ì´ë” ì—†ìŒ í‘œì‹œ"
+msgstr "ë Œì¦ˆì— í‘œì‹œ"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
-msgstr ""
+msgstr "오버샘플"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "K1"
-msgstr ""
+msgstr "K1"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "K2"
-msgstr ""
+msgstr "K2"
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -17481,24 +17208,20 @@ msgid "Build Solution"
msgstr "솔루션 빌드"
#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
msgid "Auto Update Project"
-msgstr "ì´ë¦„ 없는 프로ì íŠ¸"
+msgstr "ìžë™ ì—…ë°ì´íŠ¸ 프로ì íŠ¸"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "Assembly Name"
-msgstr "ëª¨ë‘ í‘œì‹œ"
+msgstr "어셈블리 ì´ë¦„"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "Solution Directory"
-msgstr "디렉토리를 ì„ íƒí•˜ì„¸ìš”"
+msgstr "솔루션 디렉토리"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "C# Project Directory"
-msgstr "디렉토리를 ì„ íƒí•˜ì„¸ìš”"
+msgstr "C# 프로ì íŠ¸ 디렉토리"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
@@ -17572,20 +17295,19 @@ msgstr "완료!"
#: modules/opensimplex/noise_texture.cpp
msgid "Seamless"
-msgstr ""
+msgstr "ì›í™œí•œ"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "무작위 스케ì¼:"
+msgstr "노멀 맵으로"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
-msgstr ""
+msgstr "범프 ê°•ë„"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
-msgstr ""
+msgstr "소ìŒ"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise Offset"
@@ -17593,27 +17315,25 @@ msgstr "ë…¸ì´ì¦ˆ 오프셋"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
-msgstr ""
+msgstr "옥타브"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Period"
-msgstr ""
+msgstr "기간"
#: modules/opensimplex/open_simplex_noise.cpp
-#, fuzzy
msgid "Persistence"
-msgstr "ì›ê·¼"
+msgstr "지ì†ì„±"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Lacunarity"
-msgstr ""
+msgstr "세심함"
#: modules/regex/regex.cpp
msgid "Subject"
-msgstr ""
+msgstr "서브ì íŠ¸"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
msgstr "ì´ë¦„"
@@ -17623,43 +17343,39 @@ msgstr "문ìžì—´"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
-msgstr ""
+msgstr "멀티ìºìŠ¤íŠ¸ë¥¼ 발견하면"
#: modules/upnp/upnp.cpp
msgid "Discover Local Port"
-msgstr ""
+msgstr "로컬 í¬íŠ¸ 검색"
#: modules/upnp/upnp.cpp
msgid "Discover IPv6"
-msgstr ""
+msgstr "IPv6 발견"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "설명"
+msgstr "설명 URL"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Service Type"
-msgstr "변수 타입 설정"
+msgstr "서비스 유형"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
-msgstr ""
+msgstr "IGD 제어 URL"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Service Type"
-msgstr "변수 타입 설정"
+msgstr "IGD 서비스 유형"
#: modules/upnp/upnp_device.cpp
msgid "IGD Our Addr"
-msgstr ""
+msgstr "IGD ìš°ë¦¬ì˜ ì£¼ì†Œ"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Status"
-msgstr "ìƒíƒœ"
+msgstr "IGD ìƒíƒœ"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -17694,14 +17410,12 @@ msgstr ""
"시퀀스 비트를 발견했지만 ìŠ¤íƒ ì•ˆì˜ ë…¸ë“œì—는 없습니다. 버그를 신고하세요!"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Stack overflow with stack depth:"
-msgstr "ìŠ¤íƒ ê¹Šì´ë¡œ 오버플로우한 스íƒ: "
+msgstr "ìŠ¤íƒ ê¹Šì´ê°€ 있는 ìŠ¤íƒ ì˜¤ë²„í”Œë¡œ:"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Visual Script"
-msgstr "비주얼스í¬ë¦½íŠ¸ 검색"
+msgstr "비주얼 스í¬ë¦½íŠ¸"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
@@ -18022,122 +17736,108 @@ msgstr "멤버 편집"
#: modules/visual_script/visual_script_expression.cpp
#: scene/resources/visual_shader.cpp
-#, fuzzy
msgid "Expression"
-msgstr "í‘œí˜„ì‹ ì„¤ì •"
+msgstr "표현"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return"
-msgstr ""
+msgstr "반환"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Enabled"
-msgstr "실행가능"
+msgstr "반환 활성화ë¨"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Type"
-msgstr "멤버 타입"
+msgstr "반환 유형"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Condition"
-msgstr "애니메ì´ì…˜"
+msgstr "ì¡°ê±´"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
-msgstr ""
+msgstr "(ì¡°ê±´)ì´ ë‹¤ìŒê³¼ 같으면:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr "While"
+msgstr "ë™ì•ˆ"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
-msgstr ""
+msgstr "ë™ì•ˆ(ì¡°ê±´):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator"
-msgstr ""
+msgstr "반복ìž"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
-msgstr ""
+msgstr "(ìž…ë ¥)ì—ì„œ (요소):"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Input type not iterable:"
-msgstr "반복할 수 없는 입력 타입: "
+msgstr "반복할 수 없는 입력 유형:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
-msgstr "Iteratorê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
+msgstr "반복ìžê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Iterator became invalid:"
-msgstr "Iteratorê°€ 잘못ë¨: "
+msgstr "반복ìžê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
-msgstr ""
+msgstr "순서"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "in order:"
-msgstr "í´ë” ì´ë¦„ 바꾸기:"
+msgstr "규칙대로:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Steps"
msgstr "단계"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Switch"
-msgstr "Pitch:"
+msgstr "스위치"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
-msgstr ""
+msgstr "'ìž…ë ¥'ì€:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Type Cast"
-msgstr "타입:"
+msgstr "유형 ìºìŠ¤íŠ¸"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
-msgstr ""
+msgstr "%sì¸ê°€ìš”?"
#: modules/visual_script/visual_script_flow_control.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Base Script"
-msgstr "새 스í¬ë¦½íŠ¸"
+msgstr "기본 스í¬ë¦½íŠ¸"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
-msgstr ""
+msgstr "%sì—"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "On Self"
-msgstr "ìžì²´"
+msgstr "온 셀프"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Call Mode"
-msgstr "ìŠ¤ì¼€ì¼ ëª¨ë“œ"
+msgstr "호출 모드"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Type"
-msgstr "기본 타입 바꾸기"
+msgstr "기본형"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -20129,7 +19829,7 @@ msgstr "개정"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "í’ê²½"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20426,7 +20126,7 @@ msgstr ""
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr ""
+msgstr "와ì¸"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20982,7 +20682,7 @@ msgstr "선회 뷰 오른쪽으로"
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Angular Velocity"
-msgstr ""
+msgstr "ê°ì†ë„"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21427,7 +21127,7 @@ msgstr "ë„ë„› 외부 반지름 바꾸기"
msgid ""
"The NavigationObstacle2D only serves to provide collision avoidance to a "
"Node2D object."
-msgstr ""
+msgstr "NavigationObstacle2D는 Node2D ê°œì²´ì— ëŒ€í•œ ì¶©ëŒ ë°©ì§€ 기능만 제공합니다."
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -23668,6 +23368,16 @@ msgstr "오류"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "ì •ë ¬"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "주변광 사용"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -26547,7 +26257,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Bloom"
-msgstr ""
+msgstr "블룸"
#: scene/resources/environment.cpp
msgid "HDR Threshold"
@@ -27176,9 +26886,8 @@ msgid "Bind"
msgstr "ë°”ì¸ë”©"
#: scene/resources/skin.cpp
-#, fuzzy
msgid "Bone"
-msgstr "본"
+msgstr "뼈"
#: scene/resources/sky.cpp
#, fuzzy
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index e89e801a9b..5f0c068dbb 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -12948,9 +12948,10 @@ msgstr "Žingsnis(iai):"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14343,12 +14344,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23371,6 +23371,15 @@ msgstr "Įvyko klaida kraunant šriftą."
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Importuojama:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index 7234ac270a..51836c627b 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -12808,9 +12808,10 @@ msgstr "Opcijas"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14176,12 +14177,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23214,6 +23214,15 @@ msgstr "%s Kļūda"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Å Ä·irot"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/mk.po b/editor/translations/mk.po
index d0be6e7036..6d725ac82b 100644
--- a/editor/translations/mk.po
+++ b/editor/translations/mk.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-07-23 03:57+0000\n"
+"PO-Revision-Date: 2022-10-24 12:41+0000\n"
"Last-Translator: Kristijan Fremen Velkovski <me@krisfremen.com>\n"
"Language-Team: Macedonian <https://hosted.weblate.org/projects/godot-engine/"
"godot/mk/>\n"
@@ -17,11 +17,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr ""
+msgstr "Драјвер за Таблет"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -49,7 +49,7 @@ msgstr "Делта Измазнување"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
-msgstr ""
+msgstr "Режим за ниÑка употреба на процеÑор"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
@@ -186,19 +186,19 @@ msgstr "Ред за наредби"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
-msgstr ""
+msgstr "Големина на редот за Мултитрединг"
#: core/func_ref.cpp modules/visual_script/visual_script_builtin_funcs.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: scene/resources/visual_shader_nodes.cpp
msgid "Function"
-msgstr ""
+msgstr "Функција"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "Дата"
#: core/io/file_access_network.cpp core/register_core_types.cpp
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
@@ -206,16 +206,15 @@ msgstr ""
#: modules/webrtc/webrtc_data_channel.h modules/websocket/websocket_macros.h
#: scene/gui/file_dialog.cpp
msgid "Network"
-msgstr ""
+msgstr "Мрежа"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
-msgstr "Избриши невалидни клучеви"
+msgstr "Далечен ФС"
#: core/io/file_access_network.cpp
msgid "Page Size"
-msgstr ""
+msgstr "Големина на Страница"
#: core/io/file_access_network.cpp
msgid "Page Read Ahead"
@@ -3357,7 +3356,7 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Enumerations"
-msgstr ""
+msgstr "Енумерации"
#: editor/editor_help.cpp
msgid "Property Descriptions"
@@ -12418,9 +12417,10 @@ msgstr "СвојÑтва на анимацијата."
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13759,12 +13759,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22313,6 +22312,14 @@ msgstr "Огледало"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr ""
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index 35845df066..171cc17fdb 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -12440,9 +12440,10 @@ msgstr "à´ªàµà´°à´µàµƒà´¤àµà´¤à´¿à´•àµ¾:"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13783,12 +13784,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22389,6 +22389,14 @@ msgstr "à´•à´£àµà´£à´¾à´Ÿà´¿"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr ""
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/mr.po b/editor/translations/mr.po
index 6baf1dc52e..24300da41a 100644
--- a/editor/translations/mr.po
+++ b/editor/translations/mr.po
@@ -12432,9 +12432,10 @@ msgstr "अâ€à¥…निमेशन टà¥à¤°à¥€"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13776,12 +13777,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22411,6 +22411,14 @@ msgstr "तà¥à¤°à¥à¤Ÿà¥€!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+msgid "Sorting"
+msgstr ""
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index adb377d13a..3b34efe6f2 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -12936,9 +12936,10 @@ msgstr "Pilihan Snap"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Grid Offset:"
@@ -14318,12 +14319,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23441,6 +23441,15 @@ msgstr "%s Ralat"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Mengimport:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index b39bc2a602..9d831aee5d 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -18,7 +18,7 @@
# Patrick Sletvold <patricksletvold@hotmail.com>, 2021.
# Kristoffer <kskau93@gmail.com>, 2021.
# Lili Zoey <sayaks1@gmail.com>, 2021.
-# slasken06 <ask.skivdal@gmail.com>, 2021.
+# slasken06 <ask.skivdal@gmail.com>, 2021, 2022.
# Daniel Skogly <daniel@klungo.no>, 2021.
# Imre Kristoffer Eilertsen <imreeil42@gmail.com>, 2022.
# Edvard Ekrem Sæther <edvardekrem@gmail.com>, 2022.
@@ -28,8 +28,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-03-20 03:01+0000\n"
-"Last-Translator: Changry <c@changry.no>\n"
+"PO-Revision-Date: 2022-12-08 10:28+0000\n"
+"Last-Translator: slasken06 <ask.skivdal@gmail.com>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/godot-"
"engine/godot/nb_NO/>\n"
"Language: nb\n"
@@ -37,7 +37,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -118,9 +118,8 @@ msgstr "Minimert"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
-#, fuzzy
msgid "Resizable"
-msgstr "Kan Endre Størrelse"
+msgstr "Skalerbar"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -230,7 +229,6 @@ msgid "Network"
msgstr "Nettverk"
#: core/io/file_access_network.cpp
-#, fuzzy
msgid "Remote FS"
msgstr "Fjernstyrt FS"
@@ -243,7 +241,6 @@ msgid "Page Read Ahead"
msgstr ""
#: core/io/http_client.cpp
-#, fuzzy
msgid "Blocking Mode Enabled"
msgstr "Blokkeringsmodus Aktivert"
@@ -252,7 +249,6 @@ msgid "Connection"
msgstr "Tilkobling"
#: core/io/http_client.cpp
-#, fuzzy
msgid "Read Chunk Size"
msgstr "Les Chunk Størrelse"
@@ -286,7 +282,7 @@ msgstr "Overføringsmodus"
#: core/io/packet_peer.cpp
msgid "Encode Buffer Max Size"
-msgstr ""
+msgstr "Enkodingsbuffer Maks Størrelse"
#: core/io/packet_peer.cpp
msgid "Input Buffer Max Size"
@@ -13499,9 +13495,10 @@ msgstr "Snapping innstillinger"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Avstand:"
@@ -14927,16 +14924,17 @@ msgid "Invalid project path (changed anything?)."
msgstr ""
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Kunne ikke laste project.godot i prosjektstien (feil %d). Den kan mangle "
"eller være korrupt."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Kunne ikke endre project.godot i projsektstien."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Kan ikke åpne prosjekt"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24341,6 +24339,15 @@ msgstr "Feil!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sortering"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 2b09ed5abc..5e80c53732 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -13261,9 +13261,10 @@ msgstr "Kleefinstellingen"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Afstand:"
@@ -14731,16 +14732,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Ongeldig projectpad (iets veranderd?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Kan project.godot in project pad niet laden (error %d). Mogelijk is het "
"bestand niet aanwezig of corrupt."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Kan project.godot niet bewerken in projectpad."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Kan project niet openen op '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24277,6 +24279,15 @@ msgstr "Fout"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sorteren"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index 7b7e680cff..47b7bfe98a 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -64,13 +64,18 @@
# Dawid Skubij <davidsd@tlen.pl>, 2022.
# kingofsponges <q.patex.q@gmail.com>, 2022.
# Patryk Morawski <gormit7@gmail.com>, 2022.
+# Adrians <adrianspl@o2.pl>, 2022.
+# Wodorek <Krol.w94@gmail.com>, 2022.
+# Filip Gliszczyński <filipgliszczynski@gmail.com>, 2022.
+# Piotr Åšlusarz <piotrekslusarz@outlook.com>, 2022.
+# Jan Kurzak <Iqaz0oki@outlook.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-08-17 18:20+0000\n"
-"Last-Translator: Patryk Morawski <gormit7@gmail.com>\n"
+"PO-Revision-Date: 2022-12-12 09:46+0000\n"
+"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
"Language: pl\n"
@@ -79,7 +84,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -902,9 +907,8 @@ msgid "Connect Timeout Seconds"
msgstr "Sekundowy limit czasu połączenia"
#: core/register_core_types.cpp
-#, fuzzy
msgid "Packet Peer Stream"
-msgstr "Strumień członków pakietów"
+msgstr "Strumień pakietów równorzędnych"
#: core/register_core_types.cpp
msgid "Max Buffer (Power of 2)"
@@ -1159,9 +1163,8 @@ msgstr "Animacja Wywołanie funkcji"
#: editor/animation_track_editor.cpp scene/2d/animated_sprite.cpp
#: scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Frame"
-msgstr "Klatka %"
+msgstr "Klatka"
#: editor/animation_track_editor.cpp editor/editor_profiler.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
@@ -1172,16 +1175,14 @@ msgstr "Czas"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
msgstr "Lokalizacja"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Krok obrotu:"
+msgstr "Obrót"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1189,9 +1190,8 @@ msgid "Value"
msgstr "Wartość"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Arg Count"
-msgstr "Ilośc:"
+msgstr "Liczba argumentów"
#: editor/animation_track_editor.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1206,14 +1206,12 @@ msgid "Type"
msgstr "Typ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In Handle"
-msgstr "Ustaw uchwyt"
+msgstr "Uchwyt wejściowy"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out Handle"
-msgstr "Ustaw uchwyt"
+msgstr "Uchwyt wyjściowy"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1223,14 +1221,12 @@ msgid "Stream"
msgstr "Strumień"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Offset siatki:"
+msgstr "Rozpocznij przesunięcie"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Przesunięcie:"
+msgstr "Koniec przesunięcia"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1243,9 +1239,8 @@ msgid "Animation"
msgstr "Animacja"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Åagodne wejÅ›cie-wyjÅ›cie"
+msgstr "Wygładzanie"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1354,19 +1349,16 @@ msgid "Remove this track."
msgstr "Usuń tę ścieżkę."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Time (s):"
-msgstr "Czas (s): "
+msgstr "Czas (s):"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Position:"
-msgstr "Pozycja"
+msgstr "Pozycja:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Rotation:"
-msgstr "Krok obrotu:"
+msgstr "Obrót:"
#: editor/animation_track_editor.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -1383,44 +1375,36 @@ msgid "Type:"
msgstr "Typ:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "(Invalid, expected type: %s)"
-msgstr "Szablon eksportu nieprawidłowy:"
+msgstr "(Nieprawidłowy, oczekiwano typ: %s)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing:"
-msgstr "Åagodne wejÅ›cie-wyjÅ›cie"
+msgstr "Åagodne wejÅ›cie-wyjÅ›cie:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In-Handle:"
-msgstr "Ustaw uchwyt"
+msgstr "Uchwyt wew.:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out-Handle:"
-msgstr "Ustaw uchwyt"
+msgstr "Uchwyt zew.:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Stream:"
-msgstr "Członek transmisji"
+msgstr "Strumień:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start (s):"
-msgstr "Restart(y):"
+msgstr "Start (s):"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End (s):"
-msgstr "Zanikanie w (s):"
+msgstr "Koniec (s):"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation Clip:"
-msgstr "Animacje:"
+msgstr "Animacja:"
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
@@ -1634,9 +1618,8 @@ msgid "Add Method Track Key"
msgstr "Dodaj klucz ścieżki metody"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Method not found in object:"
-msgstr "Metoda nie znaleziona w obiekcie: "
+msgstr "Metoda nie znaleziona w obiekcie:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2601,9 +2584,8 @@ msgid "There is no '%s' file."
msgstr "Nie ma pliku \"%s\"."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Layout:"
-msgstr "Układ"
+msgstr "Układ:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2809,19 +2791,16 @@ msgid "Project export for platform:"
msgstr "Eksportowanie projektu dla platformy:"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Completed with warnings."
-msgstr "Skopiuj ścieżkę węzła"
+msgstr "Ukończone z ostrzeżeniami."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Completed successfully."
-msgstr "Pakiet zainstalowano poprawnie!"
+msgstr "Zakończono pomyślnie."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Failed."
-msgstr "Nie powiodło się:"
+msgstr "Nie powiodło się."
#: editor/editor_export.cpp
msgid "Storing File:"
@@ -2844,19 +2823,16 @@ msgid "Cannot create file \"%s\"."
msgstr "Nie można utworzyć pliku \"%s\"."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Failed to export project files."
-msgstr "Nie udało się eksportować plików projektu"
+msgstr "Eksportowanie plików projektu nie powiodło się."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Can't open file to read from path \"%s\"."
msgstr "Nie można otworzyć pliku do zapisu:"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Save ZIP"
-msgstr "Zapisz jako"
+msgstr "Zapisz plik ZIP"
#: editor/editor_export.cpp
msgid ""
@@ -2929,9 +2905,8 @@ msgid "Release"
msgstr "Wydanie"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Binary Format"
-msgstr "Operator koloru."
+msgstr "Format binarny"
#: editor/editor_export.cpp
msgid "64 Bits"
@@ -2942,9 +2917,8 @@ msgid "Embed PCK"
msgstr "Osadź PCK"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Texture Format"
-msgstr "Obszar tekstury"
+msgstr "Format tekstury"
#: editor/editor_export.cpp
msgid "BPTC"
@@ -2955,19 +2929,16 @@ msgid "S3TC"
msgstr "S3TC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "ETC"
-msgstr "TCP"
+msgstr "ETC"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "ETC2"
msgstr "ETC2"
#: editor/editor_export.cpp
-#, fuzzy
msgid "No BPTC Fallbacks"
-msgstr "Fallback"
+msgstr "Brak fallbacków BPTC"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -2982,30 +2953,25 @@ msgid "Custom release template not found."
msgstr "Nie znaleziono własnego szablonu wydania."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Prepare Template"
-msgstr "ZarzÄ…dzaj szablonami"
+msgstr "Przygotuj szablon"
#: editor/editor_export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "The given export path doesn't exist."
-msgstr "Podana ścieżka eksportu nie istnieje:"
+msgstr "Podana ścieżka eksportu nie istnieje."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-#, fuzzy
msgid "Template file not found: \"%s\"."
-msgstr "Nie znaleziono pliku szablonu:"
+msgstr "Nie znaleziono pliku szablonu: \"%s\"."
#: editor/editor_export.cpp
-#, fuzzy
msgid "Failed to copy export template."
-msgstr "Szablon eksportu nieprawidłowy:"
+msgstr "Kopiowanie szablonu eksportu nie powiodło się."
#: editor/editor_export.cpp platform/windows/export/export.cpp
#: platform/x11/export/export.cpp
-#, fuzzy
msgid "PCK Embedding"
-msgstr "Wyrównanie"
+msgstr "Osadzanie plików PCK"
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
@@ -3218,9 +3184,8 @@ msgid "Manage Editor Feature Profiles"
msgstr "Zarządzaj profilami funkcjonalności edytora"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Default Feature Profile"
-msgstr "Profil funkcjonalności Godota"
+msgstr "Profil domyślnych funkcji"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
@@ -3292,14 +3257,12 @@ msgid "Save a File"
msgstr "Zapisz plik"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Access"
-msgstr "Sukces!"
+msgstr "Dostęp"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Display Mode"
-msgstr "Tryb odtwarzania:"
+msgstr "Tryb wyświetlania"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -3312,30 +3275,25 @@ msgstr "Tryb odtwarzania:"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/visual_shader.cpp
#: servers/audio/effects/audio_effect_distortion.cpp
-#, fuzzy
msgid "Mode"
-msgstr "Tryb przesuwania"
+msgstr "Tryb"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Dir"
-msgstr "Bieżący:"
+msgstr "Bieżący katalog"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current File"
-msgstr "Bieżący profil:"
+msgstr "Bieżący Plik"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Path"
-msgstr "Bieżący:"
+msgstr "Bieżąca ścieżka"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Show Hidden Files"
-msgstr "Przełącz ukryte pliki"
+msgstr "Pokaż ukryte pliki"
#: editor/editor_file_dialog.cpp
msgid "Disable Overwrite Warning"
@@ -3439,7 +3397,6 @@ msgid "(Re)Importing Assets"
msgstr "(Ponowne) importowanie zasobów"
#: editor/editor_file_system.cpp
-#, fuzzy
msgid "Reimport Missing Imported Files"
msgstr "Zaimportuj ponownie brakujÄ…ce importowane pliki"
@@ -3632,36 +3589,30 @@ msgid "Property:"
msgstr "Właściwość:"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
-#, fuzzy
msgid "Label"
-msgstr "Wartość"
+msgstr "Etykieta"
#: editor/editor_inspector.cpp editor/editor_spin_slider.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Read Only"
-msgstr "Tylko metody"
+msgstr "Tylko do odczytu"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
-#, fuzzy
msgid "Checkable"
-msgstr "Element wyboru"
+msgstr "Zaznaczalne"
#: editor/editor_inspector.cpp editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Checked"
-msgstr "Zaznaczony element wyboru"
+msgstr "Sprawdzone"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Draw Red"
-msgstr "Wywołania rysowania:"
+msgstr "Rysuj czerwony"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Keying"
-msgstr "Uruchom"
+msgstr "Kluczowanie"
#: editor/editor_inspector.cpp
msgid "Pin value"
@@ -4024,14 +3975,12 @@ msgid "Quick Open Script..."
msgstr "Szybkie otwieranie skryptu..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save & Reload"
msgstr "Zapisz i zrestartuj"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to '%s' before reloading?"
-msgstr "Zapisać zmiany w \"%s\" przed zamknięciem?"
+msgstr "Zapisać zmiany w '%s' przed zrestartowaniem?"
#: editor/editor_node.cpp
msgid "Save & Close"
@@ -4150,9 +4099,8 @@ msgid "Open Project Manager?"
msgstr "Otworzyć menadżera projektów?"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save changes to the following scene(s) before reloading?"
-msgstr "Czy zapisać zmiany w aktualnej scenie/scenach przed wyjściem?"
+msgstr "Czy zapisać zmiany w aktualnej scenie/scenach przed zrestartowaniem?"
#: editor/editor_node.cpp
msgid "Save & Quit"
@@ -4343,24 +4291,20 @@ msgstr ""
#: editor/editor_node.cpp editor/editor_settings.cpp editor/scene_tree_dock.cpp
#: servers/arvr/arvr_interface.cpp
-#, fuzzy
msgid "Interface"
-msgstr "Interfejs użytkownika"
+msgstr "Interfejs"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tabs"
-msgstr "Przełącz zakładkę sceny"
+msgstr "Zakładki scen"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Always Show Close Button"
-msgstr "Zawsze pokazuj siatkÄ™"
+msgstr "Zawsze pokazuj przycisk wyjścia"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Resize If Many Tabs"
-msgstr "Zmień rozmiar jeśli wyświetlonych jest wiele zakładek"
+msgstr "Rozszerz rozmiar jeżeli jest wiele zakładek"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Minimum Width"
@@ -4371,9 +4315,8 @@ msgid "Output"
msgstr "Konsola"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Always Clear Output On Play"
-msgstr "Wyczyść wyjście"
+msgstr "Zawsze wyczyszczaj wyjście gdy włączono grę"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
@@ -4388,41 +4331,34 @@ msgid "Save On Focus Loss"
msgstr "Zapisz przy utracie skupienia"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Save Each Scene On Quit"
-msgstr "Zapisz gałąź jako scenę"
+msgstr "Zapisz każdą scenę przed wyjściem"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Quit Confirmation"
-msgstr "Wyświetlaj informacje"
+msgstr "Potwierdzenie wyjścia"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Show Update Spinner"
-msgstr "Ukryj wiatraczek aktualizacji"
+msgstr "Pokaż suwak aktualizacji"
#: editor/editor_node.cpp
msgid "Update Continuously"
msgstr "Aktualizuj ciÄ…gle"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Only"
-msgstr "Zaktualizuj istotne zmiany"
+msgstr "Aktualizuj tylko istotne"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Localize Settings"
-msgstr "Lokalizacja"
+msgstr "Lokalizuj ustawienia"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Restore Scenes On Load"
-msgstr "Pozyskaj węzeł sceny"
+msgstr "Przywracaj sceny po załadowaniu"
#: editor/editor_node.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Show Thumbnail On Hover"
msgstr "Pokaż miniaturę po najechaniu kursorem"
@@ -4431,18 +4367,16 @@ msgid "Inspector"
msgstr "Inspektor"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Property Name Style"
-msgstr "Ścieżka do projektu:"
+msgstr "Domyślny styl nazw właściwości"
#: editor/editor_node.cpp
msgid "Default Float Step"
msgstr "Domyślny krok zmiennoprzecinkowy"
#: editor/editor_node.cpp scene/gui/tree.cpp
-#, fuzzy
msgid "Disable Folding"
-msgstr "Wyłączony przycisk"
+msgstr "Wyłącz zwijanie"
#: editor/editor_node.cpp
msgid "Auto Unfold Foreign Scenes"
@@ -4457,19 +4391,16 @@ msgid "Horizontal Vector Types Editing"
msgstr "Edycja poziomych typów wektorów"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Resources In Current Inspector"
-msgstr "Otwórz w inspektorze"
+msgstr "Otwórz zasoby w aktualnym inspektorze"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Resources To Open In New Inspector"
-msgstr "Otwórz w inspektorze"
+msgstr "Zasoby do otwarcia w nowym inspektorze"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Default Color Picker Mode"
-msgstr "Domyślny tryb pipety"
+msgstr "Domyślny tryb pobieracza kolorów"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control"
@@ -4477,7 +4408,7 @@ msgstr "Kontrola wersji"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Username"
-msgstr "Użytkownik"
+msgstr "Nazwa użytkownika"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Public Key Path"
@@ -5121,14 +5052,12 @@ msgid "Debugger"
msgstr "Debugger"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame History Size"
msgstr "Rozmiar historii klatek profilera"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Profiler Frame Max Functions"
-msgstr "Zmień nazwę funkcji"
+msgstr "Maksymalna ilość funkcji klatki profilera"
#: editor/editor_properties.cpp
msgid "Edit Text:"
@@ -5197,9 +5126,8 @@ msgid "Size:"
msgstr "Rozmiar:"
#: editor/editor_properties_array_dict.cpp
-#, fuzzy
msgid "Page:"
-msgstr "Strona: "
+msgstr "Strona:"
#: editor/editor_properties_array_dict.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -5261,20 +5189,17 @@ msgstr "Nowy %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "Zmień typ podstawowy"
+msgstr "Typ bazowy"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Edited Resource"
-msgstr "Dodaj Zasób"
+msgstr "Edytowany zasób"
#: editor/editor_resource_picker.cpp scene/gui/line_edit.cpp
#: scene/gui/slider.cpp scene/gui/spin_box.cpp
-#, fuzzy
msgid "Editable"
-msgstr "Edytowalny element"
+msgstr "Edytowalny"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "New Script"
@@ -5285,9 +5210,8 @@ msgid "Extend Script"
msgstr "Rozszerz skrypt"
#: editor/editor_resource_picker.cpp
-#, fuzzy
msgid "Script Owner"
-msgstr "Nazwa skryptu:"
+msgstr "Właściciel skryptu"
#: editor/editor_run_native.cpp
msgid ""
@@ -5300,9 +5224,8 @@ msgstr ""
"jako uruchamialny."
#: editor/editor_run_native.cpp
-#, fuzzy
msgid "Project Run"
-msgstr "Projekt"
+msgstr "Uruchom projekt"
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
@@ -5329,14 +5252,12 @@ msgid "Did you forget the '_run' method?"
msgstr "Zapomniano metody \"_run\"?"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Editor Language"
-msgstr "Układ edytora"
+msgstr "Język edytora"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Display Scale"
-msgstr "Pokaż wszystko"
+msgstr "Rozmiar wyświetlania"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
@@ -5359,21 +5280,18 @@ msgid "Font Hinting"
msgstr "Czcionka podpowiedzi"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Main Font"
-msgstr "Scena główna"
+msgstr "Główna czcionka"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
msgstr "Główna czcionka pogrubiona"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Code Font"
-msgstr "Dodaj punkt węzła"
+msgstr "Czcionka kodu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Dim Editor On Dialog Popup"
msgstr "PrzygaÅ› edytor przy wyskakujÄ…cym oknie"
@@ -5386,9 +5304,8 @@ msgid "Unfocused Low Processor Mode Sleep (µsec)"
msgstr "Nieskoncentrowany tryb uśpienia w trybie niskiego procesora (µsec)"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Separate Distraction Mode"
-msgstr "Tryb bez rozproszeń"
+msgstr "Oddzielny tryb bez rozproszeń"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
@@ -5413,14 +5330,12 @@ msgid "Icon And Font Color"
msgstr "Kolor ikony i czcionki"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Color"
-msgstr "Kolory"
+msgstr "Kolor podstawowy"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Accent Color"
-msgstr "Wybierz Kolor"
+msgstr "Kolor akcentu"
#: editor/editor_settings.cpp scene/resources/environment.cpp
msgid "Contrast"
@@ -5431,109 +5346,92 @@ msgid "Relationship Line Opacity"
msgstr "Przezroczystość linii relacji"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Highlight Tabs"
-msgstr "Zapisywanie map światła"
+msgstr "Podświetl zakładki"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Border Size"
-msgstr "Brzegowe piksele"
+msgstr "Rozmiar obwódki"
#: editor/editor_settings.cpp
msgid "Use Graph Node Headers"
msgstr "Użyj wykresu nagłówków węzłów"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Additional Spacing"
-msgstr "Zapętlenie animacji"
+msgstr "Dodatkowe odstępy"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Custom Theme"
-msgstr "Motyw edytora"
+msgstr "WÅ‚asny motyw"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Script Button"
-msgstr "Kółko w prawo"
+msgstr "Pokaż przycisk skryptu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Directories"
-msgstr "Kierunki"
+msgstr "Katalogi"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Autoscan Project Path"
-msgstr "Ścieżka do projektu:"
+msgstr "Automatycznie skanuj ścieżkę projektu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Project Path"
-msgstr "Ścieżka do projektu:"
+msgstr "Domyślna ścieżka projektu"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "On Save"
-msgstr "Zapisz"
+msgstr "Przy zapisie"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Compress Binary Resources"
-msgstr "Kopiuj zasób"
+msgstr "Skompresuj binarne zasoby"
#: editor/editor_settings.cpp
msgid "Safe Save On Backup Then Rename"
msgstr "Bezpieczne zapisywanie kopii zapasowej, a następnie zmiana nazwy"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "File Dialog"
-msgstr "Okno dialogowe XForm"
+msgstr "Dialog plików"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Thumbnail Size"
-msgstr "Miniatura..."
+msgstr "Rozmiar miniaturki"
#: editor/editor_settings.cpp
msgid "Docks"
msgstr "Doki"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Scene Tree"
-msgstr "Pozyskaj drzewo sceny"
+msgstr "Drzewo sceny"
#: editor/editor_settings.cpp
msgid "Start Create Dialog Fully Expanded"
msgstr "Rozpocznij tworzenie w pełni rozwiniętego okna dialogowego"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Always Show Folders"
-msgstr "Zawsze pokazuj siatkÄ™"
+msgstr "Zawsze pokazuj foldery"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Property Editor"
-msgstr "Edytor grup"
+msgstr "Edytor właściwości"
#: editor/editor_settings.cpp
msgid "Auto Refresh Interval"
msgstr "Czas między automatycznym odświeżaniem"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Subresource Hue Tint"
-msgstr "Zasoby"
+msgstr "Odcień barwy zasobów podrzędnych"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Color Theme"
-msgstr "Motyw edytora"
+msgstr "Motyw koloru"
#: editor/editor_settings.cpp scene/3d/label_3d.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -5542,14 +5440,12 @@ msgstr "Odstępy między liniami"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Highlighting"
-msgstr "Oświetlenie bezpośrednie"
+msgstr "Podświetlanie"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Syntax Highlighting"
-msgstr "Podświetlacz składni"
+msgstr "Podświetlanie składni"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
msgid "Highlight All Occurrences"
@@ -5564,28 +5460,24 @@ msgid "Highlight Type Safe Lines"
msgstr "Wyróżnij typy bezpiecznych linii"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Indent"
-msgstr "Wcięcie w lewo"
+msgstr "Wcięcie"
#: editor/editor_settings.cpp editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
msgstr "Automatyczne wcięcie"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Convert Indent On Save"
-msgstr "Zamień wcięcia na spacje"
+msgstr "Zamień wcięcia przy zapisie"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Tabs"
-msgstr "Wywołania rysowania:"
+msgstr "Rysuj taby"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw Spaces"
-msgstr "Wywołania rysowania:"
+msgstr "Rysuj spacje"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/tile_map.cpp
@@ -5603,9 +5495,8 @@ msgid "V Scroll Speed"
msgstr "Pionowa szybkość przewijania"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Minimap"
-msgstr "Pokaż pozycję początkową"
+msgstr "Pokaż minimapę"
#: editor/editor_settings.cpp
msgid "Minimap Width"
@@ -5616,9 +5507,8 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Historia nawigacji dodatkowych przycisków myszy"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Drag And Drop Selection"
-msgstr "Wybór GridMap"
+msgstr "Przeciągnij i upuść zaznaczenie"
#: editor/editor_settings.cpp
msgid "Stay In Script Editor On Node Selected"
@@ -5629,9 +5519,8 @@ msgid "Appearance"
msgstr "WyglÄ…d"
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Show Line Numbers"
-msgstr "Numer linii:"
+msgstr "Pokaż numery linii"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5669,7 +5558,7 @@ msgstr "Wytyczne dotyczące długości linii miękkiej kolumny"
#: editor/editor_settings.cpp
msgid "Line Length Guideline Hard Column"
-msgstr ""
+msgstr "Wytyczne dotyczące długości linii twardej kolumny"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -5678,33 +5567,31 @@ msgstr "Edytor skryptów"
#: editor/editor_settings.cpp
msgid "Show Members Overview"
-msgstr ""
+msgstr "Pokaż podgląd członków"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Files"
-msgstr "Plik"
+msgstr "Pliki"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Trim Trailing Whitespace On Save"
-msgstr "Przytnij końcowe białe znaki"
+msgstr "Przytnij końcowe białe znaki przy zapisie"
#: editor/editor_settings.cpp
msgid "Autosave Interval Secs"
-msgstr ""
+msgstr "czas autozapisu sek"
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
msgid "Restore Scripts On Load"
-msgstr ""
+msgstr "Przywróć skrypty przy załadowaniu"
#: editor/editor_settings.cpp
msgid "Auto Reload And Parse Scripts On Save"
-msgstr ""
+msgstr "Automatycznie przeładuj i zanalizuj skrypty przy zapisie"
#: editor/editor_settings.cpp
msgid "Auto Reload Scripts On External Change"
-msgstr ""
+msgstr "Automatycznie przeładuj skrypty przy zmianie zewnętrznej"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5713,7 +5600,7 @@ msgstr "Opóźnienia wymuszania shaderów"
#: editor/editor_settings.cpp
msgid "Sort Members Outline Alphabetically"
-msgstr ""
+msgstr "Posortuj szkic członków alfabetycznie"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
@@ -5721,19 +5608,19 @@ msgstr "Kursor"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
-msgstr ""
+msgstr "Przewijaj za koniec pliku"
#: editor/editor_settings.cpp
msgid "Block Caret"
-msgstr ""
+msgstr "Zablokuj Karete"
#: editor/editor_settings.cpp
msgid "Caret Blink"
-msgstr ""
+msgstr "Mignięcie karety"
#: editor/editor_settings.cpp
msgid "Caret Blink Speed"
-msgstr ""
+msgstr "Prędkość migania karety"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5748,15 +5635,15 @@ msgstr "Ukończenie"
#: editor/editor_settings.cpp
msgid "Idle Parse Delay"
-msgstr ""
+msgstr "Opóźnienie interpretacji"
#: editor/editor_settings.cpp
msgid "Auto Brace Complete"
-msgstr ""
+msgstr "Automatyczne zamykanie nawiasów"
#: editor/editor_settings.cpp
msgid "Code Complete Delay"
-msgstr ""
+msgstr "Opóźnienie zakończenia kodu"
#: editor/editor_settings.cpp
msgid "Put Callhint Tooltip Below Current Line"
@@ -13095,9 +12982,10 @@ msgstr "Opcje przyciÄ…gania"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Przesunięcie:"
@@ -14534,16 +14422,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Niepoprawna ścieżka projektu (zmienić cokolwiek?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Nie udało się wczytać project.godot w ścieżce projektu (błąd %d). Może go "
"brakować lub być uszkodzony."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Nie można było edytować engine.cfg w ścieżce projektu."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Nie można otworzyć projektu w \"%s\"."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -17074,7 +16963,7 @@ msgstr "Dodaj pole architektury"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "GDNativeLibrary"
-msgstr "GDNativeLibrary"
+msgstr "Natywna biblioteka GD"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
@@ -18383,7 +18272,7 @@ msgstr "Iterator"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
-msgstr "for (element) in (wejście):"
+msgstr "dla (elementu) w (input)"
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
@@ -18555,9 +18444,8 @@ msgstr "Utwórz Tablicę"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "Iterator"
+msgstr "Operator"
#: modules/visual_script/visual_script_nodes.cpp
#, fuzzy
@@ -18634,7 +18522,7 @@ msgstr "Pozyskaj samego siebie"
#: modules/visual_script/visual_script_nodes.cpp
msgid "CustomNode"
-msgstr "NiestandardowyWęzeł"
+msgstr "Niestandardowy węzeł"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
@@ -24139,6 +24027,15 @@ msgstr "BÅ‚Ä…d"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sortuj"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -24954,7 +24851,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr "Karetka"
+msgstr "Kareta"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index e8e4e5c79d..45bbc8daf0 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -12947,9 +12947,10 @@ msgstr "Yar, Blow th' Selected Down!"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14341,12 +14342,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23398,6 +23398,15 @@ msgstr "Error loading yer Calligraphy Pen."
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Discharge ye' Signal"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/pt.po b/editor/translations/pt.po
index 3052fff9bb..85814ded34 100644
--- a/editor/translations/pt.po
+++ b/editor/translations/pt.po
@@ -13,7 +13,7 @@
# Rueben Stevens <supercell03@gmail.com>, 2017.
# SARDON <fabio3_Santos@hotmail.com>, 2017.
# Vinicius Gonçalves <viniciusgoncalves21@gmail.com>, 2017.
-# ssantos <ssantos@web.de>, 2018, 2019, 2020, 2021.
+# ssantos <ssantos@web.de>, 2018, 2019, 2020, 2021, 2022.
# Gonçalo Dinis Guerreiro João <goncalojoao205@gmail.com>, 2019.
# Manuela Silva <mmsrs@sky.com>, 2020.
# Murilo Gama <murilovsky2030@gmail.com>, 2020, 2022.
@@ -29,13 +29,15 @@
# Rafael Testa <rafael1testa@gmail.com>, 2022.
# Baiterson <baiter160@gmail.com>, 2022.
# Tuily <brizolla.tuily@gmail.com>, 2022.
+# Thuany <thutymsoares@gmail.com>, 2022.
+# Isaque Mendes <isaquemendes405@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-19 05:22+0000\n"
-"Last-Translator: Tuily <brizolla.tuily@gmail.com>\n"
+"PO-Revision-Date: 2022-11-19 08:35+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot/pt/>\n"
"Language: pt\n"
@@ -43,7 +45,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -2901,9 +2903,8 @@ msgid "ETC2"
msgstr "ETC2"
#: editor/editor_export.cpp
-#, fuzzy
msgid "No BPTC Fallbacks"
-msgstr "Forçar Shader de Reserva"
+msgstr "Sem Fallbacks para imagens BPTC"
#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -5593,9 +5594,8 @@ msgid "Caret Blink Speed"
msgstr "Velocidade do Piscamento do Cursor"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Right Click Moves Caret"
-msgstr "Clique direito para adicionar ponto"
+msgstr "Clique direito move cursor de texto"
#: editor/editor_settings.cpp modules/gdscript/gdscript.cpp
#: modules/gdscript/gdscript_editor.cpp
@@ -5624,23 +5624,20 @@ msgid "Callhint Tooltip Offset"
msgstr "Deslocamento da Sugestão de Chamada"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Complete File Paths"
-msgstr "Copiar Caminho do Nó"
+msgstr "Caminhos Completos dos Arquivos"
#: editor/editor_settings.cpp modules/gdscript/gdscript_editor.cpp
-#, fuzzy
msgid "Add Type Hints"
-msgstr "Adicionar Tipo"
+msgstr "Adicionar Dicas de Tipo"
#: editor/editor_settings.cpp
msgid "Use Single Quotes"
msgstr "Use Citação Única"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Show Help Index"
-msgstr "Mostrar Ajudantes"
+msgstr "Mostrar Ãndice de Dicas"
#: editor/editor_settings.cpp
msgid "Help Font Size"
@@ -5675,32 +5672,27 @@ msgid "Secondary Grid Color"
msgstr "Cor da Grade Secundária"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Selection Box Color"
-msgstr "Apenas seleção"
+msgstr "Seleção de Cor da Caixa"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "3D Gizmos"
-msgstr "Bugigangas"
+msgstr "Bugigangas 3D"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Gizmo Colors"
-msgstr "Cores de Emissão"
+msgstr "Cores das Bugigangas"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Instanced"
-msgstr "Instância"
+msgstr "Instânciado"
#: editor/editor_settings.cpp modules/gltf/gltf_node.cpp
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Joint"
-msgstr "Ponto"
+msgstr "Conjunto"
#: editor/editor_settings.cpp scene/2d/collision_shape_2d.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/touch_screen_button.cpp
@@ -5732,58 +5724,48 @@ msgid "Grid Division Level Bias"
msgstr "Viés de Nível de Divisão de Grade"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XZ Plane"
-msgstr "Pintura do GridMap"
+msgstr "Grade do Plano XZ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid XY Plane"
-msgstr "Pintura do GridMap"
+msgstr "Grade do Plano XY"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid YZ Plane"
-msgstr "Pintura do GridMap"
+msgstr "Grade do Plano YZ"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default FOV"
-msgstr "Predefinição"
+msgstr "Campo de Visão (FOV) Padrão"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Near"
-msgstr "Tema Predefinido"
+msgstr "Z Padrão Próximo"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Z Far"
-msgstr "Predefinição"
+msgstr "Z Padrão Longe"
#: editor/editor_settings.cpp
msgid "Lightmap Baking Number Of CPU Threads"
msgstr "Número de threads da CPU para Baking do Mapa de luz"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Scheme"
-msgstr "Modo Navegação"
+msgstr "Esquema de Navegação"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert Y Axis"
-msgstr "Editar Eixo Y"
+msgstr "Inverter Eixo Y"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Invert X Axis"
-msgstr "Editar Eixo X"
+msgstr "Inverter Eixo X"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Style"
-msgstr "Diminuir Zoom"
+msgstr "Estilo de Zoom"
#: editor/editor_settings.cpp
msgid "Emulate Numpad"
@@ -5794,28 +5776,24 @@ msgid "Emulate 3 Button Mouse"
msgstr "Emular Mouse de 3 Botões"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Orbit Modifier"
-msgstr "Ordenar por Primeiro Modificado"
+msgstr "Modificador de Órbita"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Pan Modifier"
-msgstr "Modo deslocamento"
+msgstr "Modificador de Panorâmica"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Modifier"
-msgstr "Modificado"
+msgstr "Modificador de Zoom"
#: editor/editor_settings.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Warped Mouse Panning"
msgstr "Panorama do Mouse Distorcido"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Navigation Feel"
-msgstr "Modo Navegação"
+msgstr "Sensação de Navegação"
#: editor/editor_settings.cpp
msgid "Orbit Sensitivity"
@@ -5826,82 +5804,68 @@ msgid "Orbit Inertia"
msgstr "Inércia da Órbita"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Translation Inertia"
-msgstr "Traduções"
+msgstr "Inércia de Translação"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Zoom Inertia"
-msgstr "Aumentar Zoom"
+msgstr "Inércia de Zoom"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook"
-msgstr "Freelook Cima"
+msgstr "Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Navigation Scheme"
-msgstr "Criar Malha de Navegação"
+msgstr "Esquema de Navegação de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Sensitivity"
-msgstr "Freelook Esquerda"
+msgstr "Sensibilidade de visualização livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Inertia"
-msgstr "Freelook Esquerda"
+msgstr "Inércia de Visualização livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Base Speed"
-msgstr "Freelook Modificador de Velocidade"
+msgstr "Velocidade Base de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Activation Modifier"
-msgstr "Freelook Modificador de Lentidão"
+msgstr "Modificador de Ativação de Visão Livre"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Freelook Speed Zoom Link"
-msgstr "Freelook Modificador de Velocidade"
+msgstr "Velocidade de Ligação do Visão Livre"
#: editor/editor_settings.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Grid Color"
-msgstr "Escolher cor"
+msgstr "Cor da Grade"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Guides Color"
-msgstr "Escolher cor"
+msgstr "Cor Guia"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Smart Snapping Line Color"
-msgstr "Ajuste Inteligente"
+msgstr "Cor da Linha de Encaixe Inteligente"
#: editor/editor_settings.cpp
msgid "Bone Width"
msgstr "Largura do Osso"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 1"
-msgstr "Renomear Item Cor"
+msgstr "Cor de Osso 1"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Color 2"
-msgstr "Renomear Item Cor"
+msgstr "Cor de Osso 2"
#: editor/editor_settings.cpp
msgid "Bone Selected Color"
-msgstr "Cor dos Ossos Selecionados"
+msgstr "Cor Selecionada do Osso"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
@@ -5936,32 +5900,28 @@ msgid "Pan Speed"
msgstr "Velocidade de Rotação"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Poly Editor"
-msgstr "Editor UV de Polígono 2D"
+msgstr "Editor de Polígonos"
#: editor/editor_settings.cpp
msgid "Point Grab Radius"
msgstr "Raio do Ponto de Captura"
#: editor/editor_settings.cpp editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Show Previous Outline"
-msgstr "Plano Anterior"
+msgstr "Exibir Prévia Anterior"
#: editor/editor_settings.cpp editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Autorename Animation Tracks"
-msgstr "Renomear Animação"
+msgstr "Renomear Automaticamente Faixa de Animação"
#: editor/editor_settings.cpp
msgid "Default Create Bezier Tracks"
msgstr "Criar Faixas de Bézier Padrão"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Default Create Reset Tracks"
-msgstr "Criar Pista(s) RESET"
+msgstr "Criar Faixa RESET Por Padrão"
#: editor/editor_settings.cpp
msgid "Onion Layers Past Color"
@@ -6877,9 +6837,8 @@ msgid "Use Ambient"
msgstr "Usar Ambiente"
#: editor/import/resource_importer_bitmask.cpp
-#, fuzzy
msgid "Create From"
-msgstr "Criar Pasta"
+msgstr "Criar à Partir de"
#: editor/import/resource_importer_bitmask.cpp
#: servers/audio/effects/audio_effect_compressor.cpp
@@ -6891,18 +6850,16 @@ msgstr "Limite"
#: editor/import/resource_importer_scene.cpp
#: editor/import/resource_importer_texture.cpp
#: editor/import/resource_importer_wav.cpp scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Compress"
-msgstr "Componentes"
+msgstr "Comprimir"
#: editor/import/resource_importer_csv_translation.cpp
msgid "Delimiter"
msgstr "Delimitador"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "ColorCorrect"
-msgstr "Função Cor."
+msgstr "Corrigir as Cores"
#: editor/import/resource_importer_layered_texture.cpp
msgid "No BPTC If RGB"
@@ -6945,9 +6902,8 @@ msgid "sRGB"
msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
-#, fuzzy
msgid "Slices"
-msgstr "Corte automático"
+msgstr "Fatias"
#: editor/import/resource_importer_layered_texture.cpp
#: scene/gui/aspect_ratio_container.cpp scene/gui/control.cpp
@@ -6964,9 +6920,8 @@ msgid "Vertical"
msgstr "Vertical"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "Gerar Pontos"
+msgstr "Gerar Tangentes"
#: editor/import/resource_importer_obj.cpp
msgid "Scale Mesh"
@@ -7095,19 +7050,16 @@ msgid "Store In Subdir"
msgstr "Armazenar no Subdiretório"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Filter Script"
-msgstr "Scripts de filtro"
+msgstr "Filtrar Script"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Keep Custom Tracks"
-msgstr "Transformar"
+msgstr "Manter Faixas Personalizadas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Optimizer"
-msgstr "Otimizar"
+msgstr "Otimizador"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/item_list_editor_plugin.cpp main/main.cpp
@@ -7121,9 +7073,8 @@ msgstr "Otimizar"
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
#: scene/gui/rich_text_label.cpp scene/resources/curve.cpp
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Enabled"
-msgstr "Ativar"
+msgstr "Ativado"
#: editor/import/resource_importer_scene.cpp
msgid "Max Linear Error"
@@ -7134,19 +7085,16 @@ msgid "Max Angular Error"
msgstr "Máximo de Erros Angulares"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "Valor"
+msgstr "Ângulo Máximo"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Remove Unused Tracks"
-msgstr "Remover Pista de Animação"
+msgstr "Remover Faixas não Utilizadas"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
-msgstr "Clips Anim"
+msgstr "Clipes"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
@@ -7428,14 +7376,12 @@ msgid "Raw"
msgstr "Raw"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Capitalized"
-msgstr "Capitalizar"
+msgstr "Capitalizado"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "Localização"
+msgstr "Localizado"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
@@ -7984,9 +7930,8 @@ msgid "New"
msgstr "Novo"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Paste As Reference"
-msgstr "Referência de classe %s"
+msgstr "Colar como Referência"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
@@ -8176,9 +8121,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr "Definir a animação final. Útil para sub-transições."
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition:"
-msgstr "Transição: "
+msgstr "Transição:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8478,25 +8422,21 @@ msgid "Loading..."
msgstr "A Carregar..."
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "First"
msgstr "Primeiro"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Previous"
msgstr "Anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Next"
msgstr "Próximo"
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgctxt "Pagination"
msgid "Last"
msgstr "Último"
@@ -9110,23 +9050,20 @@ msgid "View"
msgstr "Vista"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show"
-msgstr "Mostrar grelha"
+msgstr "Exibir"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show When Snapping"
-msgstr "Ajuste Inteligente"
+msgstr "Exibir ao Encaixar"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Hide"
msgstr "Esconder"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid"
-msgstr "Alternar Modo"
+msgstr "Alternar Grade"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -9485,9 +9422,8 @@ msgid "Swap Gradient Fill Points"
msgstr "Trocar Pontos de Preenchimento de Gradiente"
#: editor/plugins/gradient_texture_2d_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Grid Snap"
-msgstr "Alternar Modo"
+msgstr "Alternar Encaixe da Grade"
#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp
#: scene/3d/label_3d.cpp scene/gui/button.cpp scene/gui/dialogs.cpp
@@ -9510,9 +9446,8 @@ msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Separação:"
+msgstr "Separador"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -9747,9 +9682,8 @@ msgstr ""
"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "MeshLibrary"
-msgstr "Bib. de Malhas"
+msgstr "Biblioteca de Malhas"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Add Item"
@@ -9772,14 +9706,12 @@ msgid "Update from Scene"
msgstr "Atualizar a partir da Cena"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply without Transforms"
-msgstr "Aplicar Transformações do MeshInstance"
+msgstr "Aplicar sem Transformações"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Apply with Transforms"
-msgstr "Aplicar Transformações do MeshInstance"
+msgstr "Aplicar com Transformações"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -9945,9 +9877,8 @@ msgid "Volume"
msgstr "Volume"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Emission Source:"
-msgstr "Fonte de emissão: "
+msgstr "Fonte de emissão:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10641,19 +10572,16 @@ msgid "External"
msgstr "Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Use External Editor"
-msgstr "Depurar com Editor Externo"
+msgstr "Utilizar Editor Externo"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Exec Path"
-msgstr "Exportar Caminho"
+msgstr "Caminho de Execução"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Script Temperature Enabled"
-msgstr "Selecionar Ficheiro de Modelo"
+msgstr "Temperatura de Script Ativado"
#: editor/plugins/script_editor_plugin.cpp
msgid "Highlight Current Script"
@@ -10668,19 +10596,16 @@ msgid "Current Script Background Color"
msgstr "Cor de Fundo Script Atual"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Group Help Pages"
-msgstr "Agrupar Seleção"
+msgstr "Agrupar Páginas de Ajuda"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Sort Scripts By"
-msgstr "Criar Script"
+msgstr "Ordenar Scripts Por"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "List Script Names As"
-msgstr "Nome do Script:"
+msgstr "Listar Nomes de Script Como"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
@@ -11042,15 +10967,13 @@ msgstr "Translação"
#. TRANSLATORS: Refers to changing the scale of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Scaling:"
-msgstr "A escalar: "
+msgstr "Escala:"
#. TRANSLATORS: Refers to changing the position of a node in the 3D editor.
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Translating:"
-msgstr "A transladar: "
+msgstr "Traduzir:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -11201,10 +11124,11 @@ msgid "(Not in GLES2)"
msgstr "(Não em GLES2)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
-msgstr "Não disponível para o renderizador GLES2."
+msgstr ""
+"Modos de Debug draw só estão disponíveis para uso com o renderizador GLES3. "
+"GLES2 não suporta esta funcionalidade."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -11506,9 +11430,8 @@ msgid "Manipulator Gizmo Opacity"
msgstr "Opacidade do Gizmo do Manipulador"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport Rotation Gizmo"
-msgstr "Bloquear Rotação da Vista"
+msgstr "Exibir Gizmo de Rotação do Viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
@@ -11559,9 +11482,8 @@ msgid "Invalid geometry, can't replace by mesh."
msgstr "Geometria inválida, não substituível por malha."
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Convert to MeshInstance2D"
-msgstr "Converter para Mesh2D"
+msgstr "Converter para MeshInstance2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create polygon."
@@ -11592,19 +11514,16 @@ msgid "Sprite"
msgstr "Sprite"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Simplification:"
-msgstr "Simplificação: "
+msgstr "Simplificação:"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Shrink (Pixels):"
-msgstr "Encolher (Pixeis): "
+msgstr "Encolher (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Grow (Pixels):"
-msgstr "Aumentar (Pixeis): "
+msgstr "Crescer (Pixels):"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Update Preview"
@@ -11667,9 +11586,8 @@ msgid "New Animation"
msgstr "Nova Animação"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Filter animations"
-msgstr "Métodos de filtro"
+msgstr "Filtrar animações"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
@@ -11969,9 +11887,8 @@ msgstr ""
"Fechar na mesma?"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Type"
-msgstr "Remover Tile"
+msgstr "Remover Tipo"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -12015,14 +11932,12 @@ msgstr ""
"Adicione-lhe mais itens manualmente ou importando-os de outro tema."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Theme Type"
-msgstr "Adicionar Tipo de Item"
+msgstr "Adicionar Tipo de Tema"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Theme Type"
-msgstr "Remover Remoto"
+msgstr "Remover Tipo de Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add Color Item"
@@ -12137,9 +12052,8 @@ msgid "Select Another Theme Resource:"
msgstr "Selecionar Outro Recurso Tema:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Theme Resource"
-msgstr "Renomear recurso"
+msgstr "Recurso de Tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
@@ -12476,45 +12390,37 @@ msgid "Palette Min Width"
msgstr "Largura Mínima da Paleta"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Palette Item H Separation"
-msgstr "Separador Nomeado"
+msgstr "Separação Horizontal dos Itens de Paleta"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Names"
-msgstr "Mostrar Todos os Idiomas"
+msgstr "Mostrar Nomes dos Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Show Tile Ids"
-msgstr "Mostrar réguas"
+msgstr "Mostrar Ids dos Tiles"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Sort Tiles By Name"
-msgstr "Ordenar ficheiros"
+msgstr "Ordenar Tiles por Nome"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Bucket Fill Preview"
-msgstr "Balde de Enchimento"
+msgstr "Pré-visualização do Preenchimento de Balde"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editor Side"
-msgstr "Editor"
+msgstr "Lado do Editor"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Display Grid"
-msgstr "Vista Overdraw"
+msgstr "Mostrar Grid"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Axis Color"
-msgstr "Escolher cor"
+msgstr "Cor do Eixo"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Texture(s) to TileSet."
@@ -12851,9 +12757,8 @@ msgid "This property can't be changed."
msgstr "Esta propriedade não pode ser alterada."
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Snap Options"
-msgstr "Opções de Ajuste"
+msgstr "Opções de Encaixe"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/animated_sprite.cpp
#: scene/2d/camera_2d.cpp scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp
@@ -12861,12 +12766,12 @@ msgstr "Opções de Ajuste"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
-#, fuzzy
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento"
#: editor/plugins/tile_set_editor_plugin.cpp editor/rename_dialog.cpp
#: scene/gui/range.cpp scene/resources/animation.cpp
@@ -12877,14 +12782,12 @@ msgstr "Passo"
#: editor/plugins/tile_set_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separation"
-msgstr "Separação:"
+msgstr "Separação"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Tile"
-msgstr "Selecionar"
+msgstr "Selecionar Tile"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/light_2d.cpp scene/2d/line_2d.cpp scene/2d/mesh_instance_2d.cpp
@@ -12893,97 +12796,79 @@ msgstr "Selecionar"
#: scene/gui/nine_patch_rect.cpp scene/gui/texture_rect.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Texto"
+msgstr "Textura"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento da Textura"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
#: scene/3d/mesh_instance.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Material"
-msgstr "Mudanças de Material:"
+msgstr "Material"
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/canvas_item.cpp
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Modulate"
-msgstr "Povoar"
+msgstr "Modular"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tile Mode"
-msgstr "Alternar Modo"
+msgstr "Modo de Tiles"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
-msgstr "Modo Bitmask"
+msgstr "Modo Bitmask do Autotile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
-msgstr "Tamanho do contorno:"
+msgstr "Tamanho do Subtile"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
-msgstr "Loop da Animação"
+msgstr "Espaçamento dos Subtiles"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "Criar Polígono Oclusor"
+msgstr "Deslocamento de Oclusor"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
-msgstr "Modo Navegação"
+msgstr "Deslocamento da Navegação"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento da Forma"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Transformar"
+msgstr "Transformação da Forma"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "Colisão"
+msgstr "Colisão Selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way"
-msgstr "Apenas seleção"
+msgstr "Colisão em sentido único selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "Modo Colisão"
+msgstr "Margem de colisão em sentido único selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Navigation"
-msgstr "Navegação Visível"
+msgstr "Navegação Selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Occlusion"
-msgstr "Selecionar"
+msgstr "Oclusão Selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Scripts de filtro"
+msgstr "Scripts do Tileset"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -14188,51 +14073,44 @@ msgstr ""
"você precisa construir os modelos de exportação da fonte."
#: editor/project_export.cpp
-#, fuzzy
msgid "More Info..."
-msgstr "Mover para..."
+msgstr "Mais Informações..."
#: editor/project_export.cpp
-#, fuzzy
msgid "Export PCK/Zip..."
-msgstr "Exportar PCK/Zip"
+msgstr "Exportar PCK/Zip..."
#: editor/project_export.cpp
-#, fuzzy
msgid "Export Project..."
-msgstr "Exportar Projeto"
+msgstr "Exportar Projeto…"
#: editor/project_export.cpp
msgid "Export All"
msgstr "Exportar Tudo"
#: editor/project_export.cpp
-#, fuzzy
msgid "Choose an export mode:"
-msgstr "Por favor escolha uma pasta vazia."
+msgstr "Escolha um modo de exportação:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Export All..."
-msgstr "Exportar Tudo"
+msgstr "Exportar tudo…"
#: editor/project_export.cpp editor/project_manager.cpp
msgid "ZIP File"
msgstr "Ficheiro ZIP"
#: editor/project_export.cpp
-#, fuzzy
msgid "Godot Project Pack"
-msgstr "Pacote de Jogo Godot"
+msgstr "Pacote do Projeto Godot"
#: editor/project_export.cpp
msgid "Export templates for this platform are missing:"
msgstr "Não existem Modelos de exportação para esta plataforma:"
#: editor/project_export.cpp
-#, fuzzy
msgid "Project Export"
-msgstr "Fundadores do Projeto"
+msgstr "Exportar Projeto"
#: editor/project_export.cpp
msgid "Manage Export Templates"
@@ -14298,16 +14176,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Caminho de projeto inválido (alguma alteração?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Não consegui carregar o project.godot no caminho do projeto (erro %d). "
"Poderá estar em falta ou corrompido."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Incapaz de editar project.godot no caminho do projeto."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Incapaz de abrir projeto em '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -14546,7 +14425,6 @@ msgstr ""
#. TRANSLATORS: This refers to the application where users manage their Godot projects.
#: editor/project_manager.cpp
-#, fuzzy
msgctxt "Application"
msgid "Project Manager"
msgstr "Gestor de Projetos"
@@ -15343,19 +15221,16 @@ msgid "Make Local"
msgstr "Tornar Local"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name(s)"
-msgstr "Nome do Nó:"
+msgstr "Ativar Nome(s) Único(s) de Cena"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Unique names already used by another node in the scene:"
-msgstr "Outro nó já usa esse nome exclusivo na cena."
+msgstr "Nomes únicos já estão sendo usados por outro nó na cena:"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Disable Scene Unique Name(s)"
-msgstr "Nome do Nó:"
+msgstr "Desativar Nome(s) Único(s) de Cena"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15530,18 +15405,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "Limpar herança? (Definitivo!)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "Centrar Seleção"
+msgstr "Mostrar seleção da hierarquia de cenas"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
msgstr "Derivar Globais de Script Por Nome"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "Seleção de Frame"
+msgstr "Seleção de favoritos da raíz"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15556,9 +15429,8 @@ msgid "Button Group"
msgstr "Grupo Botão"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid "Disable Scene Unique Name"
-msgstr "Nome do Nó:"
+msgstr "Desativar Nome Único de Cena"
#: editor/scene_tree_editor.cpp
msgid "(Connecting From)"
@@ -15791,9 +15663,8 @@ msgid "Attach Node Script"
msgstr "Anexar Script de Nó"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Remote %s:"
-msgstr "Remoto "
+msgstr "%s remoto:"
#: editor/script_editor_debugger.cpp
msgid "Bytes:"
@@ -15868,9 +15739,8 @@ msgid "Stack Frames"
msgstr "Empilhar Frames"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Filter stack variables"
-msgstr "Filtrar Tiles"
+msgstr "Filtrar variáveis stack"
#: editor/script_editor_debugger.cpp
msgid "Auto Switch To Remote Scene Tree"
@@ -16547,26 +16417,22 @@ msgid "Calculate Tangents"
msgstr "Calcular Tangentes"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Use Collision"
-msgstr "Colisão"
+msgstr "Usar Colisão"
#: modules/csg/csg_shape.cpp servers/physics_2d_server.cpp
-#, fuzzy
msgid "Collision Layer"
-msgstr "Modo Colisão"
+msgstr "Camada de Colisão"
#: modules/csg/csg_shape.cpp scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp
#: scene/3d/ray_cast.cpp scene/3d/spring_arm.cpp
#: scene/resources/navigation_mesh.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collision Mask"
-msgstr "Modo Colisão"
+msgstr "Máscara de Colisão"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Invert Faces"
-msgstr "Converter maiúsculas/minúsculas"
+msgstr "Inverter Faces"
#: modules/csg/csg_shape.cpp scene/2d/navigation_agent_2d.cpp
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_agent.cpp
@@ -16576,43 +16442,36 @@ msgstr "Converter maiúsculas/minúsculas"
#: scene/resources/cylinder_shape.cpp scene/resources/environment.cpp
#: scene/resources/navigation_mesh.cpp scene/resources/primitive_meshes.cpp
#: scene/resources/sphere_shape.cpp
-#, fuzzy
msgid "Radius"
-msgstr "Raio:"
+msgstr "Raio"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Radial Segments"
-msgstr "Argumentos da Cena Principal:"
+msgstr "Segmentos Radiais"
#: modules/csg/csg_shape.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Rings"
-msgstr "Avisos"
+msgstr "Anéis"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Smooth Faces"
-msgstr "Smoothstep"
+msgstr "Suavizar Faces"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Sides"
-msgstr "Mostrar Guias"
+msgstr "Lados"
#: modules/csg/csg_shape.cpp
msgid "Cone"
msgstr "Cone"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Inner Radius"
-msgstr "Mudar Raio Interno do Toro"
+msgstr "Raio Interno"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Outer Radius"
-msgstr "Mudar Raio Externo do Toro"
+msgstr "Raio Externo"
#: modules/csg/csg_shape.cpp
msgid "Ring Sides"
@@ -16621,9 +16480,8 @@ msgstr "Lados do Anel"
#: modules/csg/csg_shape.cpp scene/2d/collision_polygon_2d.cpp
#: scene/2d/light_occluder_2d.cpp scene/2d/polygon_2d.cpp
#: scene/3d/collision_polygon.cpp
-#, fuzzy
msgid "Polygon"
-msgstr "Polígonos"
+msgstr "Polígono"
#: modules/csg/csg_shape.cpp
msgid "Spin Degrees"
@@ -16634,14 +16492,12 @@ msgid "Spin Sides"
msgstr "Girar Lados"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Node"
-msgstr "Colar Nós"
+msgstr "Caminho do Nó"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Interval Type"
-msgstr "Criar vértice interno"
+msgstr "Tipo de Intervalo de Caminho"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
@@ -16652,14 +16508,12 @@ msgid "Path Simplify Angle"
msgstr "Simplifique o Ângulo do Caminho"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Rotation"
-msgstr "Rotação aleatória:"
+msgstr "Rotação do Caminho"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Local"
-msgstr "Tornar Local"
+msgstr "Caminho Local"
#: modules/csg/csg_shape.cpp
#, fuzzy
@@ -16667,34 +16521,28 @@ msgid "Path Continuous U"
msgstr "Contínuo"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path U Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância do Caminho U"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Joined"
-msgstr "Rotação aleatória:"
+msgstr "Caminho Unido"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Compression Mode"
-msgstr "Modo Colisão"
+msgstr "Modo de Compressão"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Transfer Channel"
-msgstr "Mudar Transformação"
+msgstr "Transferir Canal"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Channel Count"
-msgstr "Instância"
+msgstr "Quantidade de Canais"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Always Ordered"
-msgstr "Mostrar Grelha Sempre"
+msgstr "Sempre Ordenado"
#: modules/enet/networked_multiplayer_enet.cpp
msgid "Server Relay"
@@ -16709,9 +16557,8 @@ msgid "DTLS Hostname"
msgstr "Nome do Host DTLS"
#: modules/enet/networked_multiplayer_enet.cpp
-#, fuzzy
msgid "Use DTLS"
-msgstr "Usar Ajuste"
+msgstr "Usar DTLS"
#: modules/fbx/editor_scene_importer_fbx.cpp
msgid "FBX"
@@ -16722,14 +16569,12 @@ msgid "Use FBX"
msgstr "Usar FBX"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Config File"
-msgstr "Armazenar o Ficheiro:"
+msgstr "Ficheiro de Configuração"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Load Once"
-msgstr "Carregar recurso"
+msgstr "Carregar Apenas uma Vez"
#: modules/gdnative/gdnative.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -16738,14 +16583,12 @@ msgid "Singleton"
msgstr "Esqueleto"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Symbol Prefix"
-msgstr "Prefixo:"
+msgstr "Prefixo do Símbolo"
#: modules/gdnative/gdnative.cpp
-#, fuzzy
msgid "Reloadable"
-msgstr "Recarregar"
+msgstr "Recarregável"
#: modules/gdnative/gdnative.cpp
#: modules/gdnative/gdnative_library_singleton_editor.cpp
@@ -16798,24 +16641,20 @@ msgid "Disabled GDNative Singleton"
msgstr "Instância única GDNative desativada"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Libraries:"
-msgstr "Bibliotecas: "
+msgstr "Bibliotecas:"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Class Name"
-msgstr "Nome de Classe:"
+msgstr "Nome da Classe"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Script Class"
-msgstr "Nome do Script:"
+msgstr "Classe do Script"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "Caminho de Foco"
+msgstr "Caminho para Ãcone"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -16823,18 +16662,16 @@ msgstr "GDNative"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "Script"
+msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
msgstr "Função de Definição de Cor"
#: modules/gdscript/editor/gdscript_highlighter.cpp
-#, fuzzy
msgid "Node Path Color"
-msgstr "Copiar Caminho do Nó"
+msgstr "Cor do Caminho do Nó"
#: modules/gdscript/gdscript.cpp modules/visual_script/visual_script.cpp
msgid "Max Call Stack"
@@ -16891,9 +16728,8 @@ msgid "Object can't provide a length."
msgstr "Objeto não fornece um comprimento."
#: modules/gdscript/language_server/gdscript_language_server.cpp
-#, fuzzy
msgid "Language Server"
-msgstr "Linguagem:"
+msgstr "Servidor de Idioma"
#: modules/gdscript/language_server/gdscript_language_server.cpp
msgid "Enable Smart Resolve"
@@ -16916,44 +16752,36 @@ msgid "Export GLTF..."
msgstr "Exportar GLTF..."
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Buffer View"
-msgstr "Vista de Trás"
+msgstr "Visão de Buffer"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento do Byte"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Component Type"
-msgstr "Componentes"
+msgstr "Tipo do Componente"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Normalized"
-msgstr "Formato"
+msgstr "Normalizado"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Count"
-msgstr "Valor:"
+msgstr "Quantidade"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Min"
-msgstr "MiB"
+msgstr "Min"
#: modules/gltf/gltf_accessor.cpp scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Max"
-msgstr "Combinar"
+msgstr "Max"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "Instância"
+msgstr "Contagem Escassa"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
@@ -16964,9 +16792,8 @@ msgid "Sparse Indices Byte Offset"
msgstr "Deslocamento de Bytes de Ãndices Esparsos"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Indices Component Type"
-msgstr "A analisar geometria..."
+msgstr "Tipo de Componente de Ãndices Esparsos"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Values Buffer View"
@@ -16977,37 +16804,32 @@ msgid "Sparse Values Byte Offset"
msgstr "Deslocamento de Bytes de Valores Esparsos"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Buffer"
-msgstr "Vista de Trás"
+msgstr "Buffer"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Length"
-msgstr "Tema Predefinido"
+msgstr "Largura do byte"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
msgstr "Passo de Byte"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Indices"
-msgstr "Todos os Aparelhos"
+msgstr "Ãndices"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "FOV Size"
-msgstr "Tamanho:"
+msgstr "Tamanho do FOV"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
msgstr "Zfar"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "Znear"
-msgstr "Linear"
+msgstr "Z perto"
#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
@@ -17017,9 +16839,8 @@ msgstr "Linear"
#: scene/resources/environment.cpp scene/resources/material.cpp
#: scene/resources/particles_material.cpp scene/resources/sky.cpp
#: scene/resources/style_box.cpp
-#, fuzzy
msgid "Color"
-msgstr "Cores"
+msgstr "Cor"
#: modules/gltf/gltf_light.cpp scene/3d/reflection_probe.cpp
#: scene/resources/environment.cpp
@@ -17027,9 +16848,8 @@ msgid "Intensity"
msgstr "Intensidade"
#: modules/gltf/gltf_light.cpp scene/2d/light_2d.cpp scene/3d/light.cpp
-#, fuzzy
msgid "Range"
-msgstr "Mudar"
+msgstr "Intervalo"
#: modules/gltf/gltf_light.cpp
msgid "Inner Cone Angle"
@@ -17040,19 +16860,16 @@ msgid "Outer Cone Angle"
msgstr "Ângulo do Cone Externo"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Blend Weights"
-msgstr "Consolidar Lightmaps"
+msgstr "Peso da mesclagem"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Instance Materials"
-msgstr "Mudanças de Material:"
+msgstr "Materiais da Instância"
#: modules/gltf/gltf_node.cpp scene/3d/skeleton.cpp
-#, fuzzy
msgid "Parent"
-msgstr "Reassociar"
+msgstr "Pai"
#: modules/gltf/gltf_node.cpp
#, fuzzy
@@ -17064,19 +16881,16 @@ msgid "Skin"
msgstr "Skin"
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Traduções"
+msgstr "Tradução"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Children"
-msgstr "Filhos editáveis"
+msgstr "Filhos"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints"
-msgstr "Ponto"
+msgstr "Pontos"
#: modules/gltf/gltf_skeleton.cpp modules/gltf/gltf_skin.cpp
msgid "Roots"
@@ -17087,28 +16901,24 @@ msgid "Unique Names"
msgstr "Nomes Únicos"
#: modules/gltf/gltf_skeleton.cpp
-#, fuzzy
msgid "Godot Bone Node"
-msgstr "Obter Nó da Cena"
+msgstr "Nó de Osso Godot"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Skin Root"
-msgstr "Nova Raiz da Cena"
+msgstr "Raiz da Skin"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Joints Original"
-msgstr "Focar na Origem"
+msgstr "Pontos Originais"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
msgstr "Inverter Ligações"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "Mover Junta"
+msgstr "Não-Juntas"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
@@ -17147,48 +16957,41 @@ msgid "Json"
msgstr "Json"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Major Version"
-msgstr "Versão"
+msgstr "Versão Importante"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "Versão"
+msgstr "Versão Minoritária"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "GLB Data"
-msgstr "Com Dados"
+msgstr "Dados do GLB"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
msgstr "Usar Ligações de Skin Nomeadas"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Buffer Views"
-msgstr "Vista de Trás"
+msgstr "Visão Buffer"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
msgstr "Assessores"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Scene Name"
-msgstr "Caminho da Cena:"
+msgstr "Nome da Cena"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Root Nodes"
-msgstr "Nome do nó raiz"
+msgstr "Nós Raízes"
#: modules/gltf/gltf_state.cpp scene/2d/particles_2d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Textures"
-msgstr "Funcionalidades"
+msgstr "Texturas"
#: modules/gltf/gltf_state.cpp platform/uwp/export/export.cpp
msgid "Images"
@@ -17199,72 +17002,60 @@ msgid "Cameras"
msgstr "Câmeras"
#: modules/gltf/gltf_state.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Lights"
-msgstr "Luz"
+msgstr "Luzes"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Unique Animation Names"
-msgstr "Novo Nome da Animação:"
+msgstr "Nomes de Animação Únicos"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeletons"
-msgstr "Esqueleto"
+msgstr "Esqueletos"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Skeleton To Node"
-msgstr "Selecione um Nó"
+msgstr "Esqueleto Para Nó"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Animations"
-msgstr "Animações:"
+msgstr "Animações"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "Mostrar ossos"
+msgstr "Imagem fonte"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
msgstr "Bib. de Malhas"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Physics Material"
-msgstr "Frame de Física %"
+msgstr "Material de Física"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Use In Baked Light"
-msgstr "Consolidar Lightmaps"
+msgstr "Usar no mapa de luz"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
msgid "Cell"
msgstr "Célula"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Octant Size"
-msgstr "Vista de Frente"
+msgstr "Tamanho Octante"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center X"
-msgstr "Centro"
+msgstr "Centro X"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Y"
-msgstr "Centro"
+msgstr "Centro Y"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Center Z"
-msgstr "Centro"
+msgstr "Centro Z"
#: modules/gridmap/grid_map.cpp scene/2d/collision_object_2d.cpp
#: scene/2d/tile_map.cpp scene/3d/collision_object.cpp scene/3d/soft_body.cpp
@@ -17273,17 +17064,15 @@ msgid "Mask"
msgstr "Máscara"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
-#, fuzzy
msgid "Bake Navigation"
-msgstr "Navegação"
+msgstr "Navegação Pré-Processada"
#: modules/gridmap/grid_map.cpp scene/2d/navigation_2d.cpp
#: scene/2d/navigation_agent_2d.cpp scene/2d/navigation_polygon.cpp
#: scene/2d/tile_map.cpp scene/3d/navigation.cpp scene/3d/navigation_agent.cpp
#: scene/3d/navigation_mesh_instance.cpp
-#, fuzzy
msgid "Navigation Layers"
-msgstr "Modo Navegação"
+msgstr "Camadas da Navegação"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
@@ -17442,9 +17231,8 @@ msgid "Plotting lightmaps"
msgstr "A Traçar lightmaps"
#: modules/lightmapper_cpu/register_types.cpp
-#, fuzzy
msgid "CPU Lightmapper"
-msgstr "Consolidar Lightmaps"
+msgstr "Mapeamento de Luz da CPU"
#: modules/lightmapper_cpu/register_types.cpp
msgid "Low Quality Ray Count"
@@ -17466,9 +17254,8 @@ msgstr "Contagem de Raios de Ultra Qualidade"
#: modules/minimp3/resource_importer_mp3.cpp
#: modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
#: modules/stb_vorbis/resource_importer_ogg_vorbis.cpp
-#, fuzzy
msgid "Loop Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento do Loop"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Eye Height"
@@ -17479,14 +17266,12 @@ msgid "IOD"
msgstr "IOD"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display Width"
-msgstr "Vista Wireframe"
+msgstr "Largura de Ecrã"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display To Lens"
-msgstr "Vista sem sombras"
+msgstr "Exibir às Lentes"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
@@ -17509,24 +17294,20 @@ msgid "Build Solution"
msgstr "Construir Solução"
#: modules/mono/editor/csharp_project.cpp
-#, fuzzy
msgid "Auto Update Project"
-msgstr "Projeto sem nome"
+msgstr "Atualizar Projeto Automaticamente"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "Assembly Name"
-msgstr "Mostrar Tudo"
+msgstr "Nome de Montagem"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "Solution Directory"
-msgstr "Escolha uma Diretoria"
+msgstr "Diretório da Solução"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "C# Project Directory"
-msgstr "Escolha uma Diretoria"
+msgstr "Diretório do Projeto C#"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
@@ -17604,9 +17385,8 @@ msgid "Seamless"
msgstr "Sem Emenda"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "As Normal Map"
-msgstr "Escala aleatória:"
+msgstr "Como Mapa Normal"
#: modules/opensimplex/noise_texture.cpp
msgid "Bump Strength"
@@ -17617,9 +17397,8 @@ msgid "Noise"
msgstr "Ruido"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "Noise Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento do Ruído"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Octaves"
@@ -17630,9 +17409,8 @@ msgid "Period"
msgstr "Periodo"
#: modules/opensimplex/open_simplex_noise.cpp
-#, fuzzy
msgid "Persistence"
-msgstr "Perspetiva"
+msgstr "Persistência"
#: modules/opensimplex/open_simplex_noise.cpp
msgid "Lacunarity"
@@ -17643,14 +17421,12 @@ msgid "Subject"
msgstr "Sujeito"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Names"
-msgstr "Nome"
+msgstr "Nomes"
#: modules/regex/regex.cpp
-#, fuzzy
msgid "Strings"
-msgstr "Configuração:"
+msgstr "Strings"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
@@ -17665,32 +17441,28 @@ msgid "Discover IPv6"
msgstr "Descobrir IPv6"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "Descrição"
+msgstr "URL Descritiva"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Service Type"
-msgstr "Definir tipo de variável"
+msgstr "Tipo de Serviço"
#: modules/upnp/upnp_device.cpp
msgid "IGD Control URL"
msgstr "URL de controle IGD"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Service Type"
-msgstr "Definir tipo de variável"
+msgstr "Tipo de Serviço IGD"
#: modules/upnp/upnp_device.cpp
msgid "IGD Our Addr"
msgstr "IGD Nosso Endereço"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "IGD Status"
-msgstr "Status"
+msgstr "Estado do IGD"
#: modules/visual_script/visual_script.cpp
msgid ""
@@ -17717,9 +17489,8 @@ msgstr ""
"trabalho de nós! Corrija o seu nó por favor."
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Node returned an invalid sequence output:"
-msgstr "O nó retornou uma sequência de saída incorreta: "
+msgstr "O nó retornou uma saída de sequência inválida:"
#: modules/visual_script/visual_script.cpp
msgid "Found sequence bit but not the node in the stack, report bug!"
@@ -17727,14 +17498,12 @@ msgstr ""
"Foi encontrada o bit da sequência mas não o nó na pilha, denuncie o bug!"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Stack overflow with stack depth:"
-msgstr "Pilha cheia com a profundidade da pilha: "
+msgstr "Sobrecarga da pilha com profundidade:"
#: modules/visual_script/visual_script.cpp
-#, fuzzy
msgid "Visual Script"
-msgstr "Procurar VisualScript"
+msgstr "Script Visual"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
@@ -18062,14 +17831,12 @@ msgid "Return"
msgstr "Voltar"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Enabled"
-msgstr "Executável"
+msgstr "Retorno Ativado"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Type"
-msgstr "Voltar"
+msgstr "Tipo de Retorno"
#: modules/visual_script/visual_script_flow_control.cpp
#: scene/resources/visual_shader_nodes.cpp
@@ -18097,18 +17864,16 @@ msgid "for (elem) in (input):"
msgstr "para (elem) em (input):"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Input type not iterable:"
-msgstr "Tipo de Input não iterável: "
+msgstr "Tipo de entrada não iterável:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
msgstr "O iterador tornou-se inválido"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Iterator became invalid:"
-msgstr "O iterador tornou-se inválido: "
+msgstr "Iterador tornou-se inválido:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
@@ -18119,9 +17884,8 @@ msgid "in order:"
msgstr "em ordem:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Steps"
-msgstr "Passo"
+msgstr "Passos"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Switch"
@@ -18141,9 +17905,8 @@ msgstr "É %s?"
#: modules/visual_script/visual_script_flow_control.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Base Script"
-msgstr "Novo Script"
+msgstr "Script Base"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
@@ -18155,37 +17918,31 @@ msgstr "Nele Próprio"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Call Mode"
-msgstr "Modo Escalar"
+msgstr "Modo de Chamada"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Type"
-msgstr "Mudar tipo base"
+msgstr "Tipo Base"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Node Path"
-msgstr "Copiar Caminho do Nó"
+msgstr "Caminho do Nó"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Use Default Args"
-msgstr "Restaurar Predefinições"
+msgstr "Usar Argumentos Padrão"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Validate"
-msgstr "Caracteres válidos:"
+msgstr "Validar"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "RPC Call Mode"
-msgstr "Modo Escalar"
+msgstr "Modo de Chamada RPC"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Subtract %s"
@@ -18224,14 +17981,12 @@ msgid "BitXor %s"
msgstr "BitXor %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Set Mode"
-msgstr "Modo Seleção"
+msgstr "Modo de Definição"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Assign Op"
-msgstr "Atribuir"
+msgstr "Atribuir Op"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -18248,9 +18003,8 @@ msgid "Base object is not a Node!"
msgstr "Objeto de base não é um Nó!"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Path does not lead to Node!"
-msgstr "Caminho não conduz Nó!"
+msgstr "Caminho não leva ao Nó!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name '%s' in node %s."
@@ -18266,38 +18020,32 @@ msgstr "Compor Array"
#: modules/visual_script/visual_script_nodes.cpp scene/resources/material.cpp
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Operator"
-msgstr "Iterador"
+msgstr "Operador"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Invalid argument of type:"
-msgstr ": Argumento inválido de tipo: "
+msgstr "Argumento inválido do tipo:"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Invalid arguments:"
-msgstr ": Argumentos inválidos: "
+msgstr "Argumentos inválidos:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
msgstr "a se cond, senão b"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Var Name"
-msgstr "Nome"
+msgstr "Nome da Variável"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "VariableGet not found in script:"
-msgstr "VariableGet não encontrado no script: "
+msgstr "VariableGet não encontrado no script:"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "VariableSet not found in script:"
-msgstr "VariableSet não encontrado no script: "
+msgstr "VariableSet não encontrado no script:"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Preload"
@@ -18413,9 +18161,8 @@ msgid "%s sec(s)"
msgstr "%s sec(s)"
#: modules/visual_script/visual_script_yield_nodes.cpp scene/main/timer.cpp
-#, fuzzy
msgid "Wait Time"
-msgstr "Pintar Tile"
+msgstr "Tempo de Espera"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "WaitSignal"
@@ -18430,9 +18177,8 @@ msgid "WaitInstanceSignal"
msgstr "WaitInstanceSignal"
#: modules/webrtc/webrtc_data_channel.cpp
-#, fuzzy
msgid "Write Mode"
-msgstr "Modo Prioridade"
+msgstr "Modo de Escrita"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
@@ -18451,69 +18197,60 @@ msgid "Trusted SSL Certificate"
msgstr "Certificado SSL Confiável"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Client"
-msgstr "Analisador de Rede"
+msgstr "Cliente WebSocket"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max In Buffer (KB)"
-msgstr "Tamanho Máximo (KB)"
+msgstr "Buffer de Entrada Máximo (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max In Packets"
msgstr "Máximo de Pacotes de Entrada"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "Max Out Buffer (KB)"
-msgstr "Tamanho Máximo (KB)"
+msgstr "Buffer de Saída Máximo (KB)"
#: modules/websocket/websocket_macros.h
msgid "Max Out Packets"
msgstr "Máximo de Pacotes de Saida"
#: modules/websocket/websocket_macros.h
-#, fuzzy
msgid "WebSocket Server"
-msgstr "Analisador de Rede"
+msgstr "Servidor WebSocket"
#: modules/websocket/websocket_server.cpp
msgid "Bind IP"
msgstr "Associar IP"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "Private Key"
-msgstr "Caminho da Chave Privada SSH"
+msgstr "Chave Privada"
#: modules/websocket/websocket_server.cpp platform/javascript/export/export.cpp
msgid "SSL Certificate"
msgstr "Certificado SSL"
#: modules/websocket/websocket_server.cpp
-#, fuzzy
msgid "CA Chain"
-msgstr "Apagar corrente IK"
+msgstr "Cadeia CA"
#: modules/websocket/websocket_server.cpp
msgid "Handshake Timeout"
msgstr "Timeout de Handshake"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Session Mode"
-msgstr "Modo Região"
+msgstr "Modo Sessão"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Required Features"
-msgstr "Funcionalidades Principais:"
+msgstr "Funcionalidades Necessárias"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Optional Features"
-msgstr "Funcionalidades Principais:"
+msgstr "Funcionalidades Opcionais"
#: modules/webxr/webxr_interface.cpp
msgid "Requested Reference Space Types"
@@ -18524,28 +18261,24 @@ msgid "Reference Space Type"
msgstr "Tipo de Espaço de Referência"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Visibility State"
-msgstr "Alternar visibilidade"
+msgstr "Estado de Visibilidade"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Bounds Geometry"
-msgstr "Repetir"
+msgstr "Limita a Geometria"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "XR Standard Mapping"
-msgstr "Ajuste Inteligente"
+msgstr "Mapeamento XR Padrão"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
msgstr "Caminho do SDK Android"
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Debug Keystore"
-msgstr "Depurador"
+msgstr "Depurar Keystore"
#: platform/android/export/export.cpp
msgid "Debug Keystore User"
@@ -18606,33 +18339,28 @@ msgid "The package must have at least one '.' separator."
msgstr "O pacote deve ter pelo menos um separador '.'."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Build"
-msgstr "Usar Compilação Personalizada"
+msgstr "Build Personalizada"
#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
msgstr "Usar Compilação Personalizada"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Export Format"
-msgstr "Exportar Caminho"
+msgstr "Exportar Formato"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Min SDK"
-msgstr "Tamanho do contorno:"
+msgstr "SDK Mínimo"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Target SDK"
-msgstr "Alvo"
+msgstr "SDK Alvo"
#: platform/android/export/export_plugin.cpp platform/iphone/export/export.cpp
-#, fuzzy
msgid "Architectures"
-msgstr "Adicionar uma entrada arquitetura"
+msgstr "Arquiteturas"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18640,86 +18368,72 @@ msgid "Keystore"
msgstr "Depurador"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Debug User"
-msgstr "Depurador"
+msgstr "Depurar Utilizador"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Password"
-msgstr "Senha"
+msgstr "Depurar Palavra-passe"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release User"
-msgstr "Libertar"
+msgstr "Liberar Utilizador"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release Password"
-msgstr "Senha"
+msgstr "Liberar Palavra-passe"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
msgstr "Implantação com Um Clique"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Clear Previous Install"
-msgstr "Inspecionar instância anterior"
+msgstr "Limpar Instalação Anterior"
#: platform/android/export/export_plugin.cpp
msgid "Code"
msgstr "Código"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Package"
-msgstr "Empacotamento"
+msgstr "Pacote"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Unique Name"
-msgstr "Nome do Nó:"
+msgstr "Nome Único"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Signed"
-msgstr "Sinal"
+msgstr "Assinado"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Classify As Game"
-msgstr "Nome de Classe:"
+msgstr "Classificar como Jogo"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
msgstr "Reter Dados na Desinstalação"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Exclude From Recents"
-msgstr "Apagar Nós"
+msgstr "Excluir de Recentes"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Graphics"
-msgstr "Compensação da grelha:"
+msgstr "Gráficos"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "OpenGL Debug"
-msgstr "Abrir"
+msgstr "Depurar OpenGL"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Features"
-msgstr "Funcionalidades"
+msgstr "Funcionalidades XR"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "XR Mode"
-msgstr "Modo deslocamento"
+msgstr "Modo XR"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18735,72 +18449,60 @@ msgid "Passthrough"
msgstr "Atravessar"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Immersive Mode"
-msgstr "Modo Prioridade"
+msgstr "Modo Imersivo"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Small"
-msgstr "Suporte"
+msgstr "Suporte Pequeno"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Normal"
-msgstr "Suporte"
+msgstr "Suporte Normal"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Large"
-msgstr "Suporte"
+msgstr "Suporte Grande"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Xlarge"
-msgstr "Suporte"
+msgstr "Suporte Extra-grande"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "User Data Backup"
-msgstr "Interface do Utilizador"
+msgstr "Backup de Dados do Utilizador"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
msgstr "Permitir"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Command Line"
-msgstr "Comunidade"
+msgstr "Linha de Comando"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Extra Args"
-msgstr "Argumentos de chamada extra:"
+msgstr "Argumentos Extra"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "APK Expansion"
-msgstr "Expressão"
+msgstr "Expansão APK"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
msgstr "Sal"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Public Key"
-msgstr "Caminho da Chave Pública SSH"
+msgstr "Chave Pública"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Permissions"
-msgstr "Máscara de Emissão"
+msgstr "Permissões"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Permissions"
-msgstr "Executar Cena Personalizada"
+msgstr "Permissões Personalizadas"
#: platform/android/export/export_plugin.cpp
msgid "Select device from the list"
@@ -18927,69 +18629,74 @@ msgid "\"Use Custom Build\" must be enabled to use the plugins."
msgstr "\"Use Custom Build\" têm de estar ativa para usar os plugins."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
-"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile "
-"VrApi\" ou \"OpenXR\"."
+"\"Hand Tracking\" só é válido quando o \"XR Mode\" é \"Oculus Mobile VrApi\" "
+"ou \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
-msgstr "\"Passthrough\" só é válido quando \"Modo Xr\" é \"OpenXR\"."
+msgstr "\"Passthrough\" só é válido quando o \"XR Mode\" é \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
msgstr "\"Exportar AAB\" só é válido quando \"Use Custom Build\" está ativa."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"Mudança de \"Min Sdk\" só é válida quando \"Use Custom Build\" está ativa."
+"\"Min SDK\" só pode ser substituído quando \"Usar Compilação Customizada\" "
+"está ativado."
#: platform/android/export/export_plugin.cpp
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
+"\"Min SDK\" deve ser um número inteiro válido, mas obteve \"%s\" que é "
+"inválido."
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
"Godot library."
msgstr ""
+"\"Min SDK\" não pode ser inferior a %d, que é a versão necessária para a "
+"biblioteca Godot."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"Mudança de \"Target Sdk\" só é válida quando \"Use Custom Build\" está ativa."
+"\"Target SDK\" só pode ser substituído quando \"Usar Compilação "
+"Customizada\" está ativado."
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
+"\"Target SDK\" deve ser um número inteiro válido, mas obteve \"%s\", que é "
+"inválido."
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Target SDK\" %d is higher than the default version %d. This may work, but "
"wasn't tested and may be unstable."
msgstr ""
+"\"Target SDK\" %d é superior à versão padrão %d. Isso pode funcionar, mas "
+"não foi testado e pode ser instável."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
-"Versão de \"Target Sdk\" tem de ser maior ou igual à versão de \"Min Sdk\"."
+"Versão do \"Target SDK\" precisa ser igual ou maior que a versão do \"Min "
+"SDK\"."
#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Code Signing"
-msgstr "Sinal"
+msgstr "Assinatura de Código"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -19066,12 +18773,11 @@ msgstr ""
"menu 'Projeto'."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"Unable to overwrite res://android/build/res/*.xml files with project name."
msgstr ""
-"Incapaz de sobrescrever ficheiros res://android/build/res/*.xml com o nome "
-"do projeto"
+"Incapaz de sobrescrever os ficheiros res://android/build/res/*.xml com o "
+"nome do projeto."
#: platform/android/export/export_plugin.cpp
msgid "Could not export project files to gradle project."
@@ -19107,9 +18813,8 @@ msgstr ""
"projeto gradle por resultados."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Package not found: \"%s\"."
-msgstr "Pacote não encontrado: '%s'"
+msgstr "Pacote não encontrado: \"%s\"."
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
@@ -19134,9 +18839,8 @@ msgid "Adding files..."
msgstr "A adicionar ficheiros..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not export project files."
-msgstr "Incapaz de exportar ficheiros do projeto"
+msgstr "Não foi possível exportar os ficheiros do projeto."
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -19232,9 +18936,8 @@ msgid "Code Sign Identity Release"
msgstr "Liberação de Identidade de Sinal de Código"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Method Release"
-msgstr "Modo exportação:"
+msgstr "Modo de Exportação Lançamento"
#: platform/iphone/export/export.cpp
msgid "Targeted Device Family"
@@ -19245,44 +18948,37 @@ msgid "Info"
msgstr "Informações"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Identifier"
-msgstr "Identificador Inválido:"
+msgstr "Identificador"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Signature"
-msgstr "Sinal"
+msgstr "Assinatura"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Short Version"
-msgstr "Versão"
+msgstr "Versão Curta"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Copyright"
-msgstr "Topo Direita"
+msgstr "Direitos Autorais"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Capabilities"
-msgstr "Colar Propriedades"
+msgstr "Capacidades"
#: platform/iphone/export/export.cpp
msgid "Access Wi-Fi"
msgstr "Acesso Wi-Fi"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Push Notifications"
-msgstr "Rotação aleatória:"
+msgstr "Notificações Push"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "User Data"
-msgstr "Interface do Utilizador"
+msgstr "Dados do Utilizador"
#: platform/iphone/export/export.cpp
msgid "Accessible From Files App"
@@ -19293,19 +18989,16 @@ msgid "Accessible From iTunes Sharing"
msgstr "Acessível a partir do Compartilhamento do iTunes"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Privacy"
-msgstr "Caminho da Chave Privada SSH"
+msgstr "Privacidade"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Camera Usage Description"
-msgstr "Descrição"
+msgstr "Descrição do Uso da Câmara"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Microphone Usage Description"
-msgstr "Descrições da Propriedade"
+msgstr "Descrição do Uso do Microfone"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19353,9 +19046,8 @@ msgid "Use Launch Screen Storyboard"
msgstr "Use o Storyboard da Tela de Inicialização"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Image Scale Mode"
-msgstr "Modo Escalar"
+msgstr "Modo de Escalonamento de Imagem"
#: platform/iphone/export/export.cpp
#, fuzzy
@@ -19368,30 +19060,25 @@ msgid "Custom Image @3x"
msgstr "CustomNode"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Use Custom BG Color"
-msgstr "CustomNode"
+msgstr "Usar Cor Personalizada de Fundo"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Custom BG Color"
-msgstr "CustomNode"
+msgstr "Cor Personalizada de Fundo"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Export Icons"
-msgstr "Expandir Tudo"
+msgstr "Exportar Ãcones"
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Prepare Templates"
-msgstr "Gerir Modelos"
+msgstr "Preparar Templates"
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Export template not found."
-msgstr "Modelo de lançamento personalizado não encontrado."
+msgstr "Template exportado não encontrado."
#: platform/iphone/export/export.cpp
msgid "App Store Team ID not specified - cannot configure the project."
@@ -19415,48 +19102,40 @@ msgid "Run exported HTML in the system's default browser."
msgstr "Executar HTML exportado no navegador predefinido do sistema."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not open template for export: \"%s\"."
-msgstr "Incapaz de abrir modelo para exportação:"
+msgstr "Não foi possível abrir o modelo para exportação: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Invalid export template: \"%s\"."
-msgstr "Modelo de exportação inválido:"
+msgstr "Template de exportação inválido: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not write file: \"%s\"."
-msgstr "Incapaz de escrever ficheiro:"
+msgstr "Não foi possível escrever o ficheiro: \"%s\"."
#: platform/javascript/export/export.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Icon Creation"
-msgstr "Definir Margem"
+msgstr "Criação de Ãcone"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not read file: \"%s\"."
-msgstr "Incapaz de ler ficheiro:"
+msgstr "Não foi possível ler o ficheiro: \"%s\"."
#: platform/javascript/export/export.cpp
msgid "PWA"
msgstr "PWA"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Variant"
-msgstr "Separação:"
+msgstr "Variante"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Type"
-msgstr "Exportar"
+msgstr "Tipo de Exportação"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "VRAM Texture Compression"
-msgstr "Expressão"
+msgstr "Compressão de Texturas na VRAM"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
@@ -19471,9 +19150,8 @@ msgid "HTML"
msgstr "HTML"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Export Icon"
-msgstr "Expandir Tudo"
+msgstr "Exportar Ãcone"
#: platform/javascript/export/export.cpp
#, fuzzy
@@ -19493,9 +19171,8 @@ msgid "Focus Canvas On Start"
msgstr "Focar Tela ao Iniciar"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Experimental Virtual Keyboard"
-msgstr "Filtrar sinais"
+msgstr "Teclado Virtual Experimental"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
@@ -19518,19 +19195,16 @@ msgid "Icon 512 X 512"
msgstr "Ãcone 512 X 512"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not read HTML shell: \"%s\"."
-msgstr "Incapaz de ler shell HTML:"
+msgstr "Não foi possível ler o shell HTML: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Could not create HTTP server directory: %s."
-msgstr "Incapaz de criar diretoria do servidor HTTP:"
+msgstr "Não foi possível criar o diretório do servidor HTTP: \"%s\"."
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Error starting HTTP server: %d."
-msgstr "Erro ao iniciar servidor HTTP:"
+msgstr "Erro ao iniciar o servidor HTTP: %d."
#: platform/javascript/export/export.cpp
msgid "Web"
@@ -19545,9 +19219,8 @@ msgid "HTTP Port"
msgstr "Porta HTTP"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "Use SSL"
-msgstr "Usar Ajuste"
+msgstr "Usar SSL"
#: platform/javascript/export/export.cpp
msgid "SSL Key"
@@ -19576,27 +19249,24 @@ msgid "Invalid Info.plist, can't load."
msgstr "Geometria inválida, incapaz de criar polígono."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Não consegui criar pasta."
+msgstr "Falha ao criar sub-pasta \"%s\"."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
msgstr "Falha ao extrair o binário fino."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Caminho base inválido."
+msgstr "Formato de binário inválido."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
msgstr "Já assinado!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Falha ao carregar recurso."
+msgstr "Falha ao processar recursos aninhados."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
@@ -19613,9 +19283,8 @@ msgid "Invalid entitlements file."
msgstr "Extensão inválida."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Extensão inválida."
+msgstr "Ficheiro executável inválido."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
@@ -19634,42 +19303,36 @@ msgid "Unknown object type."
msgstr "Tipo de objeto desconhecido."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "App Category"
-msgstr "Categoria:"
+msgstr "Categoria da App"
#: platform/osx/export/export.cpp
msgid "High Res"
msgstr "Alta resolução"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location Usage Description"
-msgstr "Descrição"
+msgstr "Descrição do Uso da Localização"
#: platform/osx/export/export.cpp
msgid "Address Book Usage Description"
msgstr "Descrição de Uso do Catálogo de Endereços"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Calendar Usage Description"
-msgstr "Descrição"
+msgstr "Descrição do Uso do Calendário"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library Usage Description"
-msgstr "Descrições da Propriedade"
+msgstr "Descrição do Uso da Biblioteca de Fotos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Desktop Folder Usage Description"
-msgstr "Descrições do Método"
+msgstr "Descrição do Uso da Pasta da Ãrea de Trabalho"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Documents Folder Usage Description"
-msgstr "Descrições do Método"
+msgstr "Descrição do Uso da Pasta de Documentos"
#: platform/osx/export/export.cpp
msgid "Downloads Folder Usage Description"
@@ -19690,23 +19353,20 @@ msgstr "Nó"
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Identity"
-msgstr "Indentar à esquerda"
+msgstr "Identidade"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Timestamp"
-msgstr "Tempo"
+msgstr "Registo do Tempo"
#: platform/osx/export/export.cpp
msgid "Hardened Runtime"
msgstr "Tempo de Execução Reforçado"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Replace Existing Signature"
-msgstr "Substituir em Ficheiros"
+msgstr "Substituir Assinatura Existente"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19714,13 +19374,12 @@ msgid "Entitlements"
msgstr "Bugigangas"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Custom File"
-msgstr "CustomNode"
+msgstr "Ficheiro Personalizado"
#: platform/osx/export/export.cpp
msgid "Allow JIT Code Execution"
-msgstr ""
+msgstr "Permitir Execução de Código JIT"
#: platform/osx/export/export.cpp
msgid "Allow Unsigned Executable Memory"
@@ -19731,65 +19390,56 @@ msgid "Allow Dyld Environment Variables"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Disable Library Validation"
-msgstr "Desativar Botão"
+msgstr "Desativar Validação da Biblioteca"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Audio Input"
-msgstr "Adicionar entrada"
+msgstr "Entrada de Ãudio"
#: platform/osx/export/export.cpp
msgid "Address Book"
-msgstr ""
+msgstr "Contatos"
#: platform/osx/export/export.cpp
msgid "Calendars"
-msgstr ""
+msgstr "Calendários"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Photos Library"
-msgstr "Exportar Biblioteca"
+msgstr "Biblioteca de Fotos"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Apple Events"
-msgstr "Adicionar evento"
+msgstr "Eventos Apple"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Debugging"
-msgstr "Depurar"
+msgstr "Depuração"
#: platform/osx/export/export.cpp
msgid "App Sandbox"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Server"
-msgstr "Analisador de Rede"
+msgstr "Servidor de Rede"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Network Client"
-msgstr "Analisador de Rede"
+msgstr "Cliente de Rede"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Device USB"
-msgstr "Aparelho"
+msgstr "Aparelho USB"
#: platform/osx/export/export.cpp
msgid "Device Bluetooth"
-msgstr ""
+msgstr "Bluetooth do Aparelho"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Files Downloads"
-msgstr "Descarrega"
+msgstr "Descarregas de Ficheiros"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19807,9 +19457,8 @@ msgid "Files Movies"
msgstr "Filtrar Tiles"
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "Custom Options"
-msgstr "Opções de Barramento"
+msgstr "Opções Personalizadas"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19818,7 +19467,7 @@ msgstr "Localização"
#: platform/osx/export/export.cpp
msgid "Apple ID Name"
-msgstr ""
+msgstr "Nome Apple ID"
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19827,21 +19476,19 @@ msgstr "Senha"
#: platform/osx/export/export.cpp
msgid "Apple Team ID"
-msgstr ""
+msgstr "ID Apple Team"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not open icon file \"%s\"."
-msgstr "Incapaz de exportar ficheiros do projeto"
+msgstr "Não foi possível abrir o ficheiro de ícone \"%s\"."
#: platform/osx/export/export.cpp
msgid "Could not start xcrun executable."
msgstr "Não foi possível iniciar o executável xcrun."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization failed."
-msgstr "Localização"
+msgstr "Falha na notarização."
#: platform/osx/export/export.cpp
msgid "Notarization request UUID: \"%s\""
@@ -19858,6 +19505,8 @@ msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Pode verificar o progresso manualmente abrindo um Terminal e a executar o "
+"seguinte comando:"
#: platform/osx/export/export.cpp
msgid ""
@@ -19887,25 +19536,24 @@ msgid ""
"Could not start codesign executable, make sure Xcode command line tools are "
"installed."
msgstr ""
+"Não foi possível iniciar o executável codesign, tenha certeza que as "
+"utilidades de linha de comando do Xcode estão instaladas."
#: platform/osx/export/export.cpp platform/windows/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Ãcones não encontrados."
+msgstr "Nenhuma identidade encontrada."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Cannot sign file %s."
-msgstr "Erro ao guardar ficheiro: %s"
+msgstr "Erro ao assinar o ficheiro %s."
#: platform/osx/export/export.cpp
msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "DMG Creation"
-msgstr "Direções"
+msgstr "Criação de DMG"
#: platform/osx/export/export.cpp
msgid "Could not start hdiutil executable."
@@ -19913,11 +19561,11 @@ msgstr "Não foi possível iniciar o executável hdiutil."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed - file exists."
-msgstr ""
+msgstr "`hdiutil create` falhou - o ficheiro existe."
#: platform/osx/export/export.cpp
msgid "`hdiutil create` failed."
-msgstr ""
+msgstr "`hdiutil create` falhou."
#: platform/osx/export/export.cpp
#, fuzzy
@@ -19925,14 +19573,13 @@ msgid "Creating app bundle"
msgstr "A criar miniatura"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export: \"%s\"."
-msgstr "Incapaz de encontrar modelo app para exportar:"
+msgstr ""
+"Não foi possível encontrar a aplicação de modelo para exportar: \"%s\"."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid export format."
-msgstr "Modelo de exportação inválido:"
+msgstr "Formato de exportação inválido."
#: platform/osx/export/export.cpp
msgid ""
@@ -19948,7 +19595,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Criando PKG"
#: platform/osx/export/export.cpp
msgid ""
@@ -19962,7 +19609,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Criando DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
@@ -19970,7 +19617,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Criando ZIP"
#: platform/osx/export/export.cpp
msgid ""
@@ -19983,9 +19630,8 @@ msgid "Sending archive for notarization"
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "ZIP Creation"
-msgstr "Projeto"
+msgstr "Criação de ZIP"
#: platform/osx/export/export.cpp
msgid "Could not open file to read from path \"%s\"."
@@ -20039,6 +19685,8 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Aviso: Notarização está desativada. O projeto exportado será bloqueado pelo "
+"Gatekeeper se for descarregado de uma fonte desconhecida."
#: platform/osx/export/export.cpp
msgid ""
@@ -20068,70 +19716,78 @@ msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidade: O acesso ao microfone está ativado, mas a descrição de uso não "
+"é especificada."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Privacidade: O acesso à câmara está ativado, mas a descrição de uso não é "
+"especificada."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Privacidade: O acesso à localização está ativado, mas a descrição de uso não "
+"é especificada."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidade: O acesso ao livro de endereços está ativado, mas a descrição de "
+"uso não é especificada."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Privacidade: O acesso ao calendário está ativado, mas a descrição de uso não "
+"é especificada."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidade: O acesso à biblioteca de fotos está ativado, mas a descrição de "
+"uso não é especificada."
#: platform/osx/export/export.cpp
msgid "macOS"
-msgstr ""
+msgstr "macOS"
#: platform/osx/export/export.cpp
msgid "Force Builtin Codesign"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Architecture"
-msgstr "Adicionar uma entrada arquitetura"
+msgstr "Arquitetura"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Display Name"
-msgstr "Mostrar Tudo"
+msgstr "Nome de Exibição"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Short Name"
-msgstr "Nome do Script:"
+msgstr "Nome Curto"
#: platform/uwp/export/export.cpp
msgid "Publisher"
-msgstr ""
+msgstr "Publicadora"
#: platform/uwp/export/export.cpp
msgid "Publisher Display Name"
msgstr "Nome de Exibição do Editor"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Product GUID"
-msgstr "GUID do produto inválido."
+msgstr "GUID do produto"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20144,14 +19800,12 @@ msgid "Signing"
msgstr "Sinal"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Certificate"
-msgstr "Vértices:"
+msgstr "Certificado"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Algorithm"
-msgstr "Depurador"
+msgstr "Algoritmo"
#: platform/uwp/export/export.cpp
msgid "Major"
@@ -20167,26 +19821,24 @@ msgid "Build"
msgstr "Modo Régua"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Revision"
-msgstr "Expressão"
+msgstr "Revisão"
#: platform/uwp/export/export.cpp
msgid "Landscape"
-msgstr ""
+msgstr "Paisagem"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Portrait"
-msgstr "Inverter Portais"
+msgstr "Retrato"
#: platform/uwp/export/export.cpp
msgid "Landscape Flipped"
-msgstr ""
+msgstr "Paisagem Invertido"
#: platform/uwp/export/export.cpp
msgid "Portrait Flipped"
-msgstr ""
+msgstr "Retrato Invertido"
#: platform/uwp/export/export.cpp
#, fuzzy
@@ -20195,33 +19847,31 @@ msgstr "Modo Escalar"
#: platform/uwp/export/export.cpp
msgid "Square 44 X 44 Logo"
-msgstr ""
+msgstr "Logo Quadrada 44 X 44"
#: platform/uwp/export/export.cpp
msgid "Square 71 X 71 Logo"
-msgstr ""
+msgstr "Logo Quadrada 71 X 71"
#: platform/uwp/export/export.cpp
msgid "Square 150 X 150 Logo"
-msgstr ""
+msgstr "Logo Quadrada 150 X 150"
#: platform/uwp/export/export.cpp
msgid "Square 310 X 310 Logo"
-msgstr ""
+msgstr "Logo Quadrada 310 X 310"
#: platform/uwp/export/export.cpp
msgid "Wide 310 X 150 Logo"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Splash Screen"
-msgstr "Chamadas de Desenho:"
+msgstr "Escrã de Abertura"
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Tiles"
-msgstr "Ficheiro"
+msgstr "Tiles"
#: platform/uwp/export/export.cpp
msgid "Show Name On Square 150 X 150"
@@ -20240,6 +19890,8 @@ msgid ""
"Godot's Mono version does not support the UWP platform. Use the standard "
"build (no C# support) if you wish to target UWP."
msgstr ""
+"A versão Mono do Godot não suporta a plataforma UWP. Use a build padrão (sem "
+"suporte a C#) se deseja exportar para UWP."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -20301,7 +19953,7 @@ msgstr "Dimensões inválidas da imagem do ecrã inicial (deve ser 620x300)."
#: platform/uwp/export/export.cpp
msgid "UWP"
-msgstr ""
+msgstr "UWP"
#: platform/uwp/export/export.cpp platform/windows/export/export.cpp
#, fuzzy
@@ -20313,18 +19965,16 @@ msgid "Debug Certificate"
msgstr ""
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Algorithm"
-msgstr "Depurador"
+msgstr "Algoritmo de Depuração"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Failed to rename temporary file \"%s\"."
-msgstr "Incapaz de remover ficheiro temporário:"
+msgstr "Falha ao renomear o ficheiro temporário \"%s\"."
#: platform/windows/export/export.cpp
msgid "Identity Type"
-msgstr ""
+msgstr "Tipo de Identidade"
#: platform/windows/export/export.cpp
msgid "Timestamp Server URL"
@@ -20336,42 +19986,36 @@ msgid "Digest Algorithm"
msgstr "Depurador"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Modify Resources"
-msgstr "Copiar Recurso"
+msgstr "Modificar Recursos"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "File Version"
-msgstr "Versão"
+msgstr "Versão do Ficheiro"
#: platform/windows/export/export.cpp
msgid "Product Version"
msgstr "Versão do Produto"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Company Name"
-msgstr "Nome do Nó:"
+msgstr "Nome da Empresa"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Product Name"
-msgstr "Nome do Projeto:"
+msgstr "Nome do Produto"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "File Description"
-msgstr "Descrição"
+msgstr "Descrição do Ficheiro"
#: platform/windows/export/export.cpp
msgid "Trademarks"
-msgstr ""
+msgstr "Marca Registada (Trademarks)"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Resources Modification"
-msgstr "Rotação aleatória:"
+msgstr "Modificações dos Recursos"
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20406,9 +20050,8 @@ msgid "Could not find osslsigncode executable at \"%s\"."
msgstr "Incapaz de encontrar keystore e exportar."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid identity type."
-msgstr "Identificador Inválido:"
+msgstr "Tipo de identidade inválido."
#: platform/windows/export/export.cpp
#, fuzzy
@@ -20428,9 +20071,8 @@ msgid "Signtool failed to sign executable: %s."
msgstr "Extensão inválida."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Failed to remove temporary file \"%s\"."
-msgstr "Incapaz de remover ficheiro temporário:"
+msgstr "Falha ao remover o ficheiro temporário \"%s\"."
#: platform/windows/export/export.cpp
msgid ""
@@ -20452,7 +20094,7 @@ msgstr "Versão de produto inválida:"
#: platform/windows/export/export.cpp
msgid "Windows executables cannot be >= 4 GiB."
-msgstr ""
+msgstr "Executáveis Windows não podem ser >= 4GiB."
#: platform/windows/export/export.cpp platform/x11/export/export.cpp
#, fuzzy
@@ -20465,12 +20107,11 @@ msgstr ""
#: platform/windows/export/export.cpp platform/x11/export/export.cpp
msgid "Executable \"pck\" section not found."
-msgstr ""
+msgstr "Secção executável \"pck\" não encontrada."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Windows"
-msgstr "Nova Janela"
+msgstr "Windows"
#: platform/windows/export/export.cpp
msgid "Rcedit"
@@ -20482,7 +20123,7 @@ msgstr ""
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr ""
+msgstr "Vinho"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20490,9 +20131,8 @@ msgstr ""
#: scene/2d/animated_sprite.cpp scene/3d/sprite_3d.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Frames"
-msgstr "Frame %"
+msgstr "Quadros"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -20504,21 +20144,18 @@ msgstr ""
#: scene/2d/animated_sprite.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Speed Scale"
-msgstr "Escala"
+msgstr "Escalonamento da Velocidade"
#: scene/2d/animated_sprite.cpp scene/2d/audio_stream_player_2d.cpp
#: scene/3d/audio_stream_player_3d.cpp scene/3d/sprite_3d.cpp
#: scene/audio/audio_stream_player.cpp
-#, fuzzy
msgid "Playing"
-msgstr "Executar"
+msgstr "A executar"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
-#, fuzzy
msgid "Centered"
-msgstr "Centro"
+msgstr "Centralizado"
#: scene/2d/animated_sprite.cpp scene/2d/sprite.cpp scene/3d/sprite_3d.cpp
#: scene/gui/texture_button.cpp scene/gui/texture_rect.cpp
@@ -20531,14 +20168,12 @@ msgid "Flip V"
msgstr ""
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Monitoring"
-msgstr "Monitor"
+msgstr "Monitorando"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Monitorable"
-msgstr "Monitor"
+msgstr "Monitorável"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20551,9 +20186,8 @@ msgid "Space Override"
msgstr "Sobrepõe"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Gravity Point"
-msgstr "Gerar Pontos"
+msgstr "Ponto de Gravidade"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20568,7 +20202,7 @@ msgstr "Pré-visualização Predefinida"
#: scene/2d/area_2d.cpp scene/2d/cpu_particles_2d.cpp scene/3d/area.cpp
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Gravity"
-msgstr ""
+msgstr "Gravidade"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
#, fuzzy
@@ -20580,46 +20214,40 @@ msgid "Angular Damp"
msgstr ""
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Audio Bus"
-msgstr "Adicionar barramento de áudio"
+msgstr "Canal de Ãudio"
#: scene/2d/area_2d.cpp scene/3d/area.cpp
-#, fuzzy
msgid "Override"
-msgstr "Sobrepõe"
+msgstr "Sobrescrever"
#: scene/2d/audio_stream_player_2d.cpp scene/audio/audio_stream_player.cpp
#: scene/gui/video_player.cpp servers/audio/effects/audio_effect_amplify.cpp
-#, fuzzy
msgid "Volume dB"
-msgstr "Volume"
+msgstr "Volume dB (decibéis)"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
#: servers/audio/effects/audio_effect_pitch_shift.cpp
-#, fuzzy
msgid "Pitch Scale"
-msgstr "Escala"
+msgstr "Escalonamento de Pitch"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Autoplay"
-msgstr "Alternar reprodução automática"
+msgstr "Reproduzir automaticamente"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp
msgid "Stream Paused"
-msgstr ""
+msgstr "Fluxo Pausado"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/3d/light.cpp scene/3d/reflection_probe.cpp
#: scene/3d/visibility_notifier.cpp scene/3d/visual_instance.cpp
#: scene/resources/material.cpp
-#, fuzzy
msgid "Max Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância Máxima"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/light.cpp
#, fuzzy
@@ -20628,39 +20256,33 @@ msgstr "Animação"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
#: scene/audio/audio_stream_player.cpp scene/gui/video_player.cpp
-#, fuzzy
msgid "Bus"
-msgstr "Adicionar Barramento"
+msgstr "Canal"
#: scene/2d/audio_stream_player_2d.cpp scene/3d/audio_stream_player_3d.cpp
msgid "Area Mask"
msgstr ""
#: scene/2d/back_buffer_copy.cpp
-#, fuzzy
msgid "Copy Mode"
-msgstr "Copiar Nós"
+msgstr "Mode de Cópia"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Anchor Mode"
-msgstr "Modo Ãcone"
+msgstr "Modo de Âncora"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Rotating"
-msgstr "Passo da rotação:"
+msgstr "Rotacionando"
#: scene/2d/camera_2d.cpp scene/2d/listener_2d.cpp scene/3d/camera.cpp
#: scene/3d/listener.cpp scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Current"
-msgstr "Atual:"
+msgstr "Atual"
#: scene/2d/camera_2d.cpp scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Zoom"
-msgstr "Aumentar Zoom"
+msgstr "Zoom"
#: scene/2d/camera_2d.cpp scene/main/canvas_layer.cpp
#, fuzzy
@@ -20676,31 +20298,27 @@ msgstr "Modo Mover"
#: scene/2d/camera_2d.cpp
msgid "Limit"
-msgstr ""
+msgstr "Limite"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Left"
-msgstr "Topo Esquerda"
+msgstr "Esquerda"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/style_box.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Right"
-msgstr "Luz"
+msgstr "Direita"
#: scene/2d/camera_2d.cpp scene/gui/control.cpp scene/gui/nine_patch_rect.cpp
#: scene/resources/dynamic_font.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Bottom"
-msgstr "Fundo Esquerda"
+msgstr "Embaixo"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Smoothed"
-msgstr "Smoothstep"
+msgstr "Suavizado"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20718,9 +20336,8 @@ msgid "Drag Margin V Enabled"
msgstr "Definir Margem"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Smoothing"
-msgstr "Smoothstep"
+msgstr "Suavizamento"
#: scene/2d/camera_2d.cpp
msgid "H"
@@ -20737,14 +20354,12 @@ msgid "Drag Margin"
msgstr "Definir Margem"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Screen"
-msgstr "Chamadas de Desenho:"
+msgstr "Ecrã de Desenho"
#: scene/2d/camera_2d.cpp
-#, fuzzy
msgid "Draw Limits"
-msgstr "Chamadas de Desenho:"
+msgstr "Limites de Desenho"
#: scene/2d/camera_2d.cpp
#, fuzzy
@@ -20763,9 +20378,8 @@ msgid "Light Mode"
msgstr "Direita Wide"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Particles Animation"
-msgstr "Partículas"
+msgstr "Animação de Partículas"
#: scene/2d/canvas_item.cpp
msgid "Particles Anim H Frames"
@@ -20781,39 +20395,34 @@ msgid "Particles Anim Loop"
msgstr "Partículas"
#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Visibility"
-msgstr "Alternar visibilidade"
+msgstr "Visibilidade"
#: scene/2d/canvas_item.cpp scene/3d/spatial.cpp scene/gui/progress_bar.cpp
#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
-#, fuzzy
msgid "Visible"
-msgstr "Alternar visibilidade"
+msgstr "Visível"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Self Modulate"
-msgstr "Povoar"
+msgstr "Auto Modular"
#: scene/2d/canvas_item.cpp
msgid "Show Behind Parent"
-msgstr ""
+msgstr "Mostrar Atrás do Pai"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Show On Top"
-msgstr "Mostrar Origem"
+msgstr "Mostrar Em Cima"
#: scene/2d/canvas_item.cpp scene/2d/light_occluder_2d.cpp
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Light Mask"
-msgstr "Luz"
+msgstr "Máscara de Luz"
#: scene/2d/canvas_item.cpp
msgid "Use Parent Material"
-msgstr ""
+msgstr "Usar Material do Pai"
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -20835,9 +20444,8 @@ msgstr ""
"para definir a sua forma."
#: scene/2d/collision_object_2d.cpp
-#, fuzzy
msgid "Pickable"
-msgstr "Escolher Tile"
+msgstr "Pegável"
#: scene/2d/collision_polygon_2d.cpp
msgid ""
@@ -20879,9 +20487,8 @@ msgstr "Modo Régua"
#: scene/3d/collision_polygon.cpp scene/3d/collision_shape.cpp
#: scene/animation/animation_node_state_machine.cpp scene/gui/base_button.cpp
#: scene/gui/texture_button.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Disabled"
-msgstr "Item Desativado"
+msgstr "Desativado"
#: scene/2d/collision_polygon_2d.cpp scene/2d/collision_shape_2d.cpp
#, fuzzy
@@ -20929,9 +20536,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Emitting"
-msgstr "Configuração:"
+msgstr "Emitindo"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20946,20 +20552,18 @@ msgstr "Nó OneShot"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Preprocess"
-msgstr "Pós-processamento"
+msgstr "Pré processamento"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Explosiveness"
-msgstr ""
+msgstr "Explosividade"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Randomness"
-msgstr "Reinício aleatório (s):"
+msgstr "Aleatoriedade"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -20968,9 +20572,8 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Fixed FPS"
-msgstr "Ver FPS"
+msgstr "FPS Fixado"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
@@ -20980,24 +20583,22 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Drawing"
-msgstr ""
+msgstr "Desenhando"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
-#, fuzzy
msgid "Local Coords"
-msgstr "Projetos Locais"
+msgstr "Coordenadas Locais"
#: scene/2d/cpu_particles_2d.cpp scene/2d/particles_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/particles.cpp
msgid "Draw Order"
-msgstr ""
+msgstr "Ordem de Desenho"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Emission Shape"
-msgstr "Máscara de Emissão"
+msgstr "Forma de Emissão"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21010,9 +20611,8 @@ msgid "Rect Extents"
msgstr "Bugigangas"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Normals"
-msgstr "Formato"
+msgstr "Normais"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21022,51 +20622,45 @@ msgstr "Atribuir"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Direction"
-msgstr "Direções"
+msgstr "Direção"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Spread"
-msgstr ""
+msgstr "Espalhar"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Initial Velocity"
-msgstr "Inicializar"
+msgstr "Velocidade Inicial"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Random"
-msgstr "Vista Órbita Direita"
+msgstr "Velocidade Aleatória"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
msgid "Angular Velocity"
-msgstr ""
+msgstr "Velocidade Angular"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Velocity Curve"
-msgstr "Vista Órbita Direita"
+msgstr "Curva de Velocidade"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Orbit Velocity"
-msgstr "Vista Órbita Direita"
+msgstr "Velocidade Orbital"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Linear Accel"
-msgstr "Linear"
+msgstr "Aceleração Linear"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21076,23 +20670,22 @@ msgstr "Acel"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Accel Random"
-msgstr ""
+msgstr "Aceleração Aleatória"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Accel Curve"
-msgstr "Dividir Curva"
+msgstr "Curva de Aceleração"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Radial Accel"
-msgstr ""
+msgstr "Aceleração Radial"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Tangential Accel"
-msgstr ""
+msgstr "Aceleração Tangencial"
#: scene/2d/cpu_particles_2d.cpp scene/2d/joints_2d.cpp
#: scene/3d/cpu_particles.cpp scene/3d/physics_body.cpp
@@ -21116,23 +20709,21 @@ msgstr "Dividir Curva"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp scene/3d/light.cpp
#: scene/resources/particles_material.cpp
msgid "Angle"
-msgstr ""
+msgstr "Ângulo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
msgid "Angle Random"
-msgstr ""
+msgstr "Ângulo Aleatório"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Angle Curve"
-msgstr "Fechar curva"
+msgstr "Curva do Ângulo"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
-#, fuzzy
msgid "Scale Amount"
-msgstr "Valor:"
+msgstr "Quantidade da Escala"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
msgid "Scale Amount Random"
@@ -21156,45 +20747,38 @@ msgstr ""
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Hue Variation"
-msgstr "Separação:"
+msgstr "Variação da Tonalidade"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation"
-msgstr "Separação:"
+msgstr "Variação"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation Random"
-msgstr "Separação:"
+msgstr "Variação Aleatória"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Variation Curve"
-msgstr "Separação:"
+msgstr "Curva de Variação"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Random"
-msgstr "Escala"
+msgstr "Velocidade Aleatória"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Speed Curve"
-msgstr "Dividir Curva"
+msgstr "Curva de Velocidade"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Offset Random"
-msgstr "Compensação:"
+msgstr "Deslocamento Aleatório"
#: scene/2d/cpu_particles_2d.cpp scene/3d/cpu_particles.cpp
#: scene/resources/particles_material.cpp
@@ -21223,14 +20807,12 @@ msgid "Node A and Node B must be different PhysicsBody2Ds"
msgstr "Nó A e Nó B têm de ser PhysicsBody2Ds diferentes"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Node A"
-msgstr "Nó"
+msgstr "Nó A"
#: scene/2d/joints_2d.cpp scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Node B"
-msgstr "Nó"
+msgstr "Nó B"
#: scene/2d/joints_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
@@ -21239,9 +20821,8 @@ msgid "Bias"
msgstr ""
#: scene/2d/joints_2d.cpp
-#, fuzzy
msgid "Disable Collision"
-msgstr "Desativar Botão"
+msgstr "Desativar Colisão"
#: scene/2d/joints_2d.cpp scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "Softness"
@@ -21250,7 +20831,7 @@ msgstr ""
#: scene/2d/joints_2d.cpp scene/resources/animation.cpp
#: scene/resources/ray_shape.cpp scene/resources/segment_shape_2d.cpp
msgid "Length"
-msgstr ""
+msgstr "Comprimento"
#: scene/2d/joints_2d.cpp
#, fuzzy
@@ -21274,20 +20855,18 @@ msgstr ""
"\"Textura\"."
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-#, fuzzy
msgid "Editor Only"
-msgstr "Editor"
+msgstr "Somente Editor"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Texture Scale"
-msgstr "TextureRegion"
+msgstr "Escalonamento da Textura"
#: scene/2d/light_2d.cpp scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/light.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/sky.cpp
msgid "Energy"
-msgstr ""
+msgstr "Energia"
#: scene/2d/light_2d.cpp
msgid "Z Min"
@@ -21312,9 +20891,8 @@ msgid "Item Cull Mask"
msgstr ""
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Shadow"
-msgstr "Shader"
+msgstr "Sombra"
#: scene/2d/light_2d.cpp
#, fuzzy
@@ -21322,9 +20900,8 @@ msgid "Buffer Size"
msgstr "Vista de Trás"
#: scene/2d/light_2d.cpp
-#, fuzzy
msgid "Gradient Length"
-msgstr "Gradiente Editado"
+msgstr "Comprimento do Gradiente"
#: scene/2d/light_2d.cpp
#, fuzzy
@@ -21332,9 +20909,8 @@ msgid "Filter Smooth"
msgstr "Métodos de filtro"
#: scene/2d/light_occluder_2d.cpp
-#, fuzzy
msgid "Closed"
-msgstr "Fechar"
+msgstr "Fechado"
#: scene/2d/light_occluder_2d.cpp scene/resources/material.cpp
#, fuzzy
@@ -21353,28 +20929,24 @@ msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
msgstr "O polígono oclusor deste oclusor está vazio. Desenhe um polígono."
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Width Curve"
-msgstr "Dividir Curva"
+msgstr "Largura da Curva"
#: scene/2d/line_2d.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Default Color"
-msgstr "Predefinição"
+msgstr "Cor Padrão"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
msgid "Fill"
-msgstr ""
+msgstr "Preencher"
#: scene/2d/line_2d.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Gradient"
-msgstr "Gradiente Editado"
+msgstr "Gradiente"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "Texture Mode"
-msgstr "TextureRegion"
+msgstr "Modo de Textura"
#: scene/2d/line_2d.cpp
msgid "Capping"
@@ -21391,14 +20963,12 @@ msgid "Begin Cap Mode"
msgstr "Modo Região"
#: scene/2d/line_2d.cpp
-#, fuzzy
msgid "End Cap Mode"
-msgstr "Modo Ajuste:"
+msgstr "Modo de Limite Final"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp scene/resources/style_box.cpp
-#, fuzzy
msgid "Border"
-msgstr "em ordem:"
+msgstr "Borda"
#: scene/2d/line_2d.cpp
msgid "Sharp Limit"
@@ -21406,7 +20976,7 @@ msgstr ""
#: scene/2d/line_2d.cpp
msgid "Round Precision"
-msgstr ""
+msgstr "Precisão do Arredondamento"
#: scene/2d/line_2d.cpp scene/2d/polygon_2d.cpp
#: scene/resources/dynamic_font.cpp
@@ -21426,9 +20996,8 @@ msgid "Cell Size"
msgstr ""
#: scene/2d/navigation_2d.cpp scene/3d/navigation.cpp
-#, fuzzy
msgid "Edge Connection Margin"
-msgstr "Editar Conexão:"
+msgstr "Margem de Ligação da Borda"
#: scene/2d/navigation_2d.cpp
msgid ""
@@ -21452,9 +21021,8 @@ msgid "Target Desired Distance"
msgstr ""
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Path Max Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância Máxima do Caminho"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
#, fuzzy
@@ -21480,9 +21048,8 @@ msgid "Time Horizon"
msgstr "Inverter na Horizontal"
#: scene/2d/navigation_agent_2d.cpp scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Max Speed"
-msgstr "Velocidade:"
+msgstr "Velocidade Máxima"
#: scene/2d/navigation_agent_2d.cpp
#, fuzzy
@@ -21491,9 +21058,8 @@ msgid ""
msgstr "O NavigationAgent2D pode ser apenas usado dentro de um nó Node2D."
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
-#, fuzzy
msgid "Estimate Radius"
-msgstr "Mudar Raio Externo do Toro"
+msgstr "Raio Estimado"
#: scene/2d/navigation_obstacle_2d.cpp
msgid ""
@@ -21531,18 +21097,16 @@ msgid "Rotation Degrees"
msgstr "Graus de Rotação"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
-#, fuzzy
msgid "Global Rotation"
-msgstr "Constante Global"
+msgstr "Rotação Global"
#: scene/2d/node_2d.cpp
msgid "Global Rotation Degrees"
msgstr "Graus de Rotação Global"
#: scene/2d/node_2d.cpp
-#, fuzzy
msgid "Global Scale"
-msgstr "Escala aleatória:"
+msgstr "Escala Global"
#: scene/2d/node_2d.cpp scene/3d/spatial.cpp
#, fuzzy
@@ -21557,12 +21121,11 @@ msgstr "Ajuste Relativo"
#: scene/2d/parallax_background.cpp scene/gui/scroll_container.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Scroll"
-msgstr ""
+msgstr "Rolagem"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Base Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento Base"
#: scene/2d/parallax_background.cpp
#, fuzzy
@@ -21571,16 +21134,15 @@ msgstr "Usar Ajuste de Escala"
#: scene/2d/parallax_background.cpp
msgid "Limit Begin"
-msgstr ""
+msgstr "Início do Limite"
#: scene/2d/parallax_background.cpp
-#, fuzzy
msgid "Limit End"
-msgstr "No Fim"
+msgstr "Fim do limite"
#: scene/2d/parallax_background.cpp
msgid "Ignore Camera Zoom"
-msgstr ""
+msgstr "Ignorar Zoom da Câmara"
#: scene/2d/parallax_layer.cpp
msgid ""
@@ -21653,9 +21215,8 @@ msgstr ""
#: scene/2d/path_2d.cpp scene/3d/path.cpp scene/resources/sky.cpp
#: scene/resources/texture.cpp
-#, fuzzy
msgid "Curve"
-msgstr "Dividir Curva"
+msgstr "Curva"
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
@@ -21663,48 +21224,41 @@ msgstr ""
"PathFollow2D apenas funciona quando definido como filho de um nó Path2D."
#: scene/2d/path_2d.cpp scene/3d/path.cpp
-#, fuzzy
msgid "Unit Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento da Unidade"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-#, fuzzy
msgid "H Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento H"
#: scene/2d/path_2d.cpp scene/3d/camera.cpp scene/3d/path.cpp
-#, fuzzy
msgid "V Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento V"
#: scene/2d/path_2d.cpp scene/3d/path.cpp
msgid "Cubic Interp"
-msgstr ""
+msgstr "Interpolação Cúbica"
#: scene/2d/path_2d.cpp
msgid "Lookahead"
msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Layers"
-msgstr "Camada"
+msgstr "Camadas"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Constant Linear Velocity"
-msgstr "Inicializar"
+msgstr "Velocidade Linear Constante"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Constant Angular Velocity"
-msgstr "Inicializar"
+msgstr "Velocidade Angular Constante"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
-#, fuzzy
msgid "Friction"
-msgstr "Função"
+msgstr "Fricção"
#: scene/2d/physics_body_2d.cpp scene/2d/tile_map.cpp scene/3d/physics_body.cpp
#: scene/resources/physics_material.cpp
@@ -21717,9 +21271,8 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: scene/resources/world.cpp scene/resources/world_2d.cpp
-#, fuzzy
msgid "Default Gravity"
-msgstr "Pré-visualização Predefinida"
+msgstr "Gravidade Padrão"
#: scene/2d/physics_body_2d.cpp
msgid ""
@@ -21733,26 +21286,23 @@ msgstr ""
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Mass"
-msgstr ""
+msgstr "Massa"
#: scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Inertia"
-msgstr "Vertical:"
+msgstr "Inércia"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Weight"
-msgstr "Luz"
+msgstr "Peso"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Gravity Scale"
-msgstr ""
+msgstr "Escala da Gravidade"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Custom Integrator"
-msgstr "CustomNode"
+msgstr "Integrador Customizado"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21775,25 +21325,24 @@ msgid "Sleeping"
msgstr "Ajuste Inteligente"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Can Sleep"
-msgstr "Velocidade:"
+msgstr "Pode Dormir"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Damp"
-msgstr ""
+msgstr "Úmido"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Angular"
-msgstr ""
+msgstr "Angular"
#: scene/2d/physics_body_2d.cpp
msgid "Applied Forces"
-msgstr ""
+msgstr "Forças Aplicadas"
#: scene/2d/physics_body_2d.cpp
msgid "Torque"
-msgstr ""
+msgstr "Torque"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#, fuzzy
@@ -21805,73 +21354,64 @@ msgid "Sync To Physics"
msgstr "Sincronizar com Física"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Moving Platform"
-msgstr "A mover saída"
+msgstr "Plataforma Móvel"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Apply Velocity On Leave"
-msgstr ""
+msgstr "Aplicar Velocidade ao Sair"
#: scene/2d/physics_body_2d.cpp scene/2d/touch_screen_button.cpp
#: scene/3d/physics_body.cpp scene/gui/texture_button.cpp
#: scene/resources/default_theme/default_theme.cpp
#: scene/resources/line_shape_2d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Normal"
-msgstr "Formato"
+msgstr "Normal"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Remainder"
-msgstr "Renderizador:"
+msgstr "Restante"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Local Shape"
-msgstr "Localização"
+msgstr "Forma Local"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider"
-msgstr "Modo Colisão"
+msgstr "Colisor"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collider ID"
-msgstr ""
+msgstr "ID do Colisor"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider RID"
-msgstr "RID inválido"
+msgstr "RID do Colisor"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider Shape"
-msgstr "Modo Colisão"
+msgstr "Forma do Colisor"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Collider Shape Index"
-msgstr "Modo Colisão"
+msgstr "Ãndice da Forma do Colisor"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Collider Velocity"
-msgstr "Vista Órbita Direita"
+msgstr "Velocidade do Colisor"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Collider Metadata"
-msgstr ""
+msgstr "Metadados do Colisor"
#: scene/2d/polygon_2d.cpp
msgid "Invert"
-msgstr ""
+msgstr "Inverter"
#: scene/2d/polygon_2d.cpp
#, fuzzy
@@ -21890,7 +21430,7 @@ msgstr "Bugigangas"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Exclude Parent"
-msgstr ""
+msgstr "Excluir Pai"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
#, fuzzy
@@ -21899,15 +21439,15 @@ msgstr "Criar Nó Shader"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Collide With"
-msgstr ""
+msgstr "Colidir com"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Areas"
-msgstr ""
+msgstr "Ãreas"
#: scene/2d/ray_cast_2d.cpp scene/3d/camera.cpp scene/3d/ray_cast.cpp
msgid "Bodies"
-msgstr ""
+msgstr "Corpos"
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -21916,14 +21456,12 @@ msgstr ""
"válido."
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Remote Path"
-msgstr "Remover Ponto"
+msgstr "Remover Caminho"
#: scene/2d/remote_transform_2d.cpp scene/3d/remote_transform.cpp
-#, fuzzy
msgid "Use Global Coordinates"
-msgstr "Próxima Coordenada"
+msgstr "Usar Coordenadas Globais"
#: scene/2d/skeleton_2d.cpp scene/3d/skeleton.cpp
#, fuzzy
@@ -21931,9 +21469,8 @@ msgid "Rest"
msgstr "Reiniciar"
#: scene/2d/skeleton_2d.cpp
-#, fuzzy
msgid "Default Length"
-msgstr "Tema Predefinido"
+msgstr "Comprimento Padrão"
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
@@ -21977,14 +21514,12 @@ msgstr ""
"RigidBody2D, KinematicBody2D, etc. para lhes dar uma forma."
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Tile Set"
-msgstr "TileSet"
+msgstr "Tile Set"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Quadrant Size"
-msgstr "Mudar tamanho da Câmara"
+msgstr "Tamanho do Quadrante"
#: scene/2d/tile_map.cpp
#, fuzzy
@@ -21997,9 +21532,8 @@ msgid "Half Offset"
msgstr "Inicializar"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Tile Origin"
-msgstr "Ver origem"
+msgstr "Origem do Tile"
#: scene/2d/tile_map.cpp
#, fuzzy
@@ -22007,51 +21541,44 @@ msgid "Y Sort"
msgstr "Ordenar"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Show Collision"
-msgstr "Colisão"
+msgstr "Mostrar Colisão"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Compatibility Mode"
-msgstr "Modo Prioridade"
+msgstr "Modo de Compatibilidade"
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Centered Textures"
-msgstr "Funcionalidades Principais:"
+msgstr "Texturas Centradas"
#: scene/2d/tile_map.cpp
msgid "Cell Clip UV"
msgstr ""
#: scene/2d/tile_map.cpp
-#, fuzzy
msgid "Use Parent"
-msgstr "Modo Colisão"
+msgstr "Usar Pai"
#: scene/2d/tile_map.cpp
msgid "Use Kinematic"
msgstr ""
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Shape Centered"
-msgstr "Ajustar ao Centro do Nó"
+msgstr "Forma Centralizada"
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Shape Visible"
-msgstr "Alternar Visibilidade"
+msgstr "Forma Visível"
#: scene/2d/touch_screen_button.cpp
msgid "Passby Press"
msgstr ""
#: scene/2d/touch_screen_button.cpp
-#, fuzzy
msgid "Visibility Mode"
-msgstr "Modo Prioridade"
+msgstr "Modo de Visibilidade"
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
@@ -22062,23 +21589,20 @@ msgstr ""
"na cena raiz editada."
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
-#, fuzzy
msgid "Pause Animations"
-msgstr "Colar Animação"
+msgstr "Pausar Animações"
#: scene/2d/visibility_notifier_2d.cpp scene/3d/visibility_notifier.cpp
msgid "Freeze Bodies"
-msgstr ""
+msgstr "Congelar Corpos"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Pause Particles"
-msgstr "Partículas"
+msgstr "Pausar Partículas"
#: scene/2d/visibility_notifier_2d.cpp
-#, fuzzy
msgid "Pause Animated Sprites"
-msgstr "Colar Animação"
+msgstr "Pausar Sprites Animados"
#: scene/2d/visibility_notifier_2d.cpp
#, fuzzy
@@ -22108,7 +21632,7 @@ msgstr ""
#: scene/3d/arvr_nodes.cpp servers/arvr/arvr_positional_tracker.cpp
msgid "Rumble"
-msgstr ""
+msgstr "Vibrar"
#: scene/3d/arvr_nodes.cpp
msgid "ARVRController must have an ARVROrigin node as its parent."
@@ -22144,9 +21668,8 @@ msgid "ARVROrigin requires an ARVRCamera child node."
msgstr "ARVROrigin exige um nó filho ARVRCamera."
#: scene/3d/arvr_nodes.cpp servers/arvr_server.cpp
-#, fuzzy
msgid "World Scale"
-msgstr "Escala aleatória:"
+msgstr "Escala do Mundo"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22155,24 +21678,23 @@ msgstr "Nó Animation"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit dB"
-msgstr ""
+msgstr "Unidade dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Unit Size"
-msgstr ""
+msgstr "Tamanho da Unidade"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Max dB"
-msgstr ""
+msgstr "Max dB"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Out Of Range Mode"
msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Emission Angle"
-msgstr "Cores de Emissão"
+msgstr "Ângulo de Emissão"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Degrees"
@@ -22185,7 +21707,7 @@ msgstr "Animação"
#: scene/3d/audio_stream_player_3d.cpp
msgid "Attenuation Filter"
-msgstr ""
+msgstr "Filtro de Atenuação"
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
@@ -22195,14 +21717,12 @@ msgstr ""
#: scene/3d/audio_stream_player_3d.cpp
#: servers/audio/effects/audio_effect_filter.cpp
-#, fuzzy
msgid "dB"
-msgstr "B"
+msgstr "dB"
#: scene/3d/audio_stream_player_3d.cpp
-#, fuzzy
msgid "Doppler"
-msgstr "Ativar Doppler"
+msgstr "Doppler"
#: scene/3d/audio_stream_player_3d.cpp
#, fuzzy
@@ -22212,7 +21732,7 @@ msgstr "Empacotamento"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
#: scene/3d/reflection_probe.cpp
msgid "Interior"
-msgstr ""
+msgstr "Interior"
#: scene/3d/baked_lightmap.cpp
msgid "Finding meshes and lights"
@@ -22247,7 +21767,7 @@ msgstr "Bugigangas"
#: scene/3d/baked_lightmap.cpp
msgid "Tweaks"
-msgstr ""
+msgstr "Ajustes"
#: scene/3d/baked_lightmap.cpp
msgid "Bounces"
@@ -22258,18 +21778,16 @@ msgid "Bounce Indirect Energy"
msgstr ""
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Use Denoiser"
-msgstr "Filtro:"
+msgstr "Usar Redutor de Ruído"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
msgid "Use HDR"
-msgstr ""
+msgstr "Usar HDR"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Use Color"
-msgstr "Cores"
+msgstr "Usar Cor"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22277,38 +21795,32 @@ msgid "Default Texels Per Unit"
msgstr "Tema Predefinido"
#: scene/3d/baked_lightmap.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Atlas"
-msgstr "Novo Atlas"
+msgstr "Atlas"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Generate"
-msgstr "Geral"
+msgstr "Gerar"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Max Size"
-msgstr "Tamanho:"
+msgstr "Tamanho Máximo"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Sky"
-msgstr "CustomNode"
+msgstr "Céu Personalizado"
#: scene/3d/baked_lightmap.cpp
msgid "Custom Sky Rotation Degrees"
msgstr "Graus de Rotação do Céu Personalizado"
#: scene/3d/baked_lightmap.cpp scene/3d/ray_cast.cpp
-#, fuzzy
msgid "Custom Color"
-msgstr "CustomNode"
+msgstr "Cor Personalizada"
#: scene/3d/baked_lightmap.cpp
-#, fuzzy
msgid "Custom Energy"
-msgstr "Mover Efeito de Barramento"
+msgstr "Energia Personalizada"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22322,7 +21834,7 @@ msgstr "Navegação"
#: scene/3d/baked_lightmap.cpp
msgid "Image Path"
-msgstr ""
+msgstr "Caminho da Imagem"
#: scene/3d/baked_lightmap.cpp
#, fuzzy
@@ -22330,13 +21842,12 @@ msgid "Light Data"
msgstr "Com Dados"
#: scene/3d/bone_attachment.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Bone Name"
-msgstr "Nome do Nó:"
+msgstr "Nome do Osso"
#: scene/3d/camera.cpp
msgid "Keep Aspect"
-msgstr ""
+msgstr "Manter Aspeto"
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
@@ -22348,18 +21859,16 @@ msgid "Doppler Tracking"
msgstr "Pista de Propriedades"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Projection"
-msgstr "Projeto"
+msgstr "Projeção"
#: scene/3d/camera.cpp
msgid "FOV"
-msgstr ""
+msgstr "FOV"
#: scene/3d/camera.cpp
-#, fuzzy
msgid "Frustum Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento do Frustum"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22368,16 +21877,15 @@ msgstr "Mais próximo"
#: scene/3d/camera.cpp
msgid "Far"
-msgstr ""
+msgstr "Longe"
#: scene/3d/camera.cpp scene/3d/collision_polygon.cpp scene/3d/spring_arm.cpp
#: scene/gui/control.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/shape.cpp scene/resources/style_box.cpp
#: scene/resources/texture.cpp servers/physics_2d_server.cpp
#: servers/physics_server.cpp
-#, fuzzy
msgid "Margin"
-msgstr "Definir Margem"
+msgstr "Margem"
#: scene/3d/camera.cpp
#, fuzzy
@@ -22486,28 +21994,24 @@ msgid "Ring Axis"
msgstr "Avisos"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Rotate Y"
-msgstr "Rodar"
+msgstr "Rotacionar em Y"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Disable Z"
-msgstr "Item Desativado"
+msgstr "Desativar Z"
#: scene/3d/cpu_particles.cpp scene/resources/particles_material.cpp
msgid "Flatness"
msgstr ""
#: scene/3d/cull_instance.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Portals"
-msgstr "Inverter Portais"
+msgstr "Portais"
#: scene/3d/cull_instance.cpp
-#, fuzzy
msgid "Portal Mode"
-msgstr "Modo Prioridade"
+msgstr "Modo Portal"
#: scene/3d/cull_instance.cpp
msgid "Include In Bound"
@@ -22515,7 +22019,7 @@ msgstr ""
#: scene/3d/cull_instance.cpp
msgid "Allow Merging"
-msgstr ""
+msgstr "Permitir Junção"
#: scene/3d/cull_instance.cpp
#, fuzzy
@@ -22553,9 +22057,8 @@ msgid "Subdiv"
msgstr ""
#: scene/3d/gi_probe.cpp
-#, fuzzy
msgid "Dynamic Range"
-msgstr "Biblioteca Dinâmica"
+msgstr "Alcance Dinâmico"
#: scene/3d/gi_probe.cpp scene/3d/light.cpp
msgid "Normal Bias"
@@ -22563,9 +22066,8 @@ msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Pixel Size"
-msgstr "Ajuste de Pixel"
+msgstr "Tamanho de Pixel"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Billboard"
@@ -22585,9 +22087,8 @@ msgid "No Depth Test"
msgstr ""
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Fixed Size"
-msgstr "Vista de Frente"
+msgstr "Tamanho Fixo"
#: scene/3d/label_3d.cpp scene/3d/sprite_3d.cpp
msgid "Alpha Cut"
@@ -22614,19 +22115,16 @@ msgstr "Forçar modulação branca"
#: scene/3d/label_3d.cpp scene/resources/default_theme/default_theme.cpp
#: scene/resources/dynamic_font.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Font"
-msgstr "Fontes"
+msgstr "Fonte"
#: scene/3d/label_3d.cpp scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Horizontal Alignment"
-msgstr "Horizontal:"
+msgstr "Alinhamento Horizontal"
#: scene/3d/label_3d.cpp
-#, fuzzy
msgid "Vertical Alignment"
-msgstr "Filtrar sinais"
+msgstr "Alinhamento Vertical"
#: scene/3d/label_3d.cpp scene/gui/dialogs.cpp scene/gui/label.cpp
#, fuzzy
@@ -22634,14 +22132,12 @@ msgid "Autowrap"
msgstr "Carregamento automático"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Indirect Energy"
-msgstr "Cores de Emissão"
+msgstr "Energia Indireta"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Negative"
-msgstr "GDNative"
+msgstr "Negativo"
#: scene/3d/light.cpp scene/resources/material.cpp
#: scene/resources/visual_shader.cpp
@@ -22655,9 +22151,8 @@ msgid "Bake Mode"
msgstr "Modo Bitmask"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Contact"
-msgstr "Escolher cor"
+msgstr "Contato"
#: scene/3d/light.cpp
#, fuzzy
@@ -22665,29 +22160,24 @@ msgid "Reverse Cull Face"
msgstr "Repor Volume do Barramento"
#: scene/3d/light.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Directional Shadow"
-msgstr "Direções"
+msgstr "Sombra Direcional"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 1"
-msgstr "Separar"
+msgstr "Dividir 1"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 2"
-msgstr "Separar"
+msgstr "Dividir 2"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Split 3"
-msgstr "Separar"
+msgstr "Dividir 3"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Blend Splits"
-msgstr "Tempos de Mistura:"
+msgstr "Divisões de Mistura"
#: scene/3d/light.cpp
#, fuzzy
@@ -22695,9 +22185,8 @@ msgid "Bias Split Scale"
msgstr "Usar Ajuste de Escala"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Depth Range"
-msgstr "Profundidade"
+msgstr "Alcance de Profundidade"
#: scene/3d/light.cpp
msgid "Omni"
@@ -22719,12 +22208,11 @@ msgstr "Uma SpotLight com ângulo superior a 90 graus não cria sombras."
#: scene/3d/light.cpp
msgid "Spot"
-msgstr ""
+msgstr "Ponto"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Angle Attenuation"
-msgstr "Animação"
+msgstr "Atenuação Angular"
#: scene/3d/mesh_instance.cpp
msgid "Software Skinning"
@@ -22740,6 +22228,8 @@ msgid ""
"be removed in a future version. Use 'NavigationServer.map_get_path()' "
"instead."
msgstr ""
+"O nó 'Navigation' e 'Navigation.get_simple_path()' estão depreciados e serão "
+"removidos em versões futuras. Use 'NavigationServer.map_get_path()' no lugar."
#: scene/3d/navigation.cpp scene/resources/curve.cpp
#, fuzzy
@@ -22756,9 +22246,8 @@ msgid "Agent Height Offset"
msgstr ""
#: scene/3d/navigation_agent.cpp
-#, fuzzy
msgid "Ignore Y"
-msgstr "[Ignorar]"
+msgstr "Ignorar Y"
#: scene/3d/navigation_agent.cpp
#, fuzzy
@@ -22767,9 +22256,8 @@ msgid ""
msgstr "O NavigationAgent pode ser apenas usado dentro de um nó espacial."
#: scene/3d/navigation_mesh_instance.cpp scene/resources/mesh_library.cpp
-#, fuzzy
msgid "NavMesh"
-msgstr "Consolidar NavMesh"
+msgstr "NavMesh"
#: scene/3d/navigation_obstacle.cpp
#, fuzzy
@@ -22827,19 +22315,16 @@ msgstr ""
"definido como \"Billboard Particles\"."
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Visibility AABB"
-msgstr "Alternar visibilidade"
+msgstr "Visibilidade AABB"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Draw Passes"
-msgstr "Chamadas de Desenho:"
+msgstr "Passos de Desenho"
#: scene/3d/particles.cpp
-#, fuzzy
msgid "Passes"
-msgstr "Chamadas de Desenho:"
+msgstr "Passos"
#: scene/3d/path.cpp
msgid "PathFollow only works when set as a child of a Path node."
@@ -22854,9 +22339,8 @@ msgstr ""
"Curva do Caminho do seu progenitor."
#: scene/3d/path.cpp
-#, fuzzy
msgid "Rotation Mode"
-msgstr "Modo Rodar"
+msgstr "Modo de Rotação"
#: scene/3d/physics_body.cpp
msgid ""
@@ -22874,46 +22358,40 @@ msgid "Axis Lock"
msgstr "Eixo"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear X"
-msgstr "Linear"
+msgstr "X Linear"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Y"
-msgstr "Linear"
+msgstr "Y Linear"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Z"
-msgstr "Linear"
+msgstr "Z Linear"
#: scene/3d/physics_body.cpp
msgid "Angular X"
-msgstr ""
+msgstr "X Angular"
#: scene/3d/physics_body.cpp
msgid "Angular Y"
-msgstr ""
+msgstr "Y Angular"
#: scene/3d/physics_body.cpp
msgid "Angular Z"
-msgstr ""
+msgstr "Z Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion X"
-msgstr "Ação"
+msgstr "Movimento X"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Y"
-msgstr "Ação"
+msgstr "Movimento Y"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Z"
-msgstr "Ação"
+msgstr "Movimento Z"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -22935,14 +22413,12 @@ msgstr ""
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Relaxation"
-msgstr "Separação:"
+msgstr "Relaxamento"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Angular Limit Enabled"
-msgstr "Filtrar sinais"
+msgstr "Limite Angular Ativado"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23006,20 +22482,19 @@ msgstr "Animação"
#: scene/3d/physics_body.cpp
msgid "X"
-msgstr ""
+msgstr "X"
#: scene/3d/physics_body.cpp
msgid "Y"
-msgstr ""
+msgstr "Y"
#: scene/3d/physics_body.cpp
msgid "Z"
-msgstr ""
+msgstr "Z"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Limit Enabled"
-msgstr "Linear"
+msgstr "Limite Linear Ativado"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23037,9 +22512,8 @@ msgid "Linear Spring Damping"
msgstr "Linear"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Linear Equilibrium Point"
-msgstr "Linear"
+msgstr "Ponto de Equilíbrio Linear"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23063,7 +22537,7 @@ msgstr "Animação"
#: scene/3d/physics_body.cpp scene/3d/physics_joint.cpp
msgid "ERP"
-msgstr ""
+msgstr "ERP"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23080,12 +22554,11 @@ msgstr ""
#: scene/3d/physics_body.cpp
msgid "Angular Equilibrium Point"
-msgstr ""
+msgstr "Ponto de Equilíbrio Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Body Offset"
-msgstr "Compensação:"
+msgstr "Deslocamento do Corpo"
#: scene/3d/physics_joint.cpp
msgid "Node A and Node B must be PhysicsBodies"
@@ -23112,18 +22585,16 @@ msgid "Solver"
msgstr ""
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Exclude Nodes"
-msgstr "Apagar Nós"
+msgstr "Excluir Nós"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Params"
-msgstr "Parâmetro Alterado:"
+msgstr "Parâmetros"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit"
-msgstr ""
+msgstr "Limite Angular"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23145,24 +22616,20 @@ msgid "Target Velocity"
msgstr "Vista Órbita Direita"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Max Impulse"
-msgstr "Velocidade:"
+msgstr "Impulso Máximo"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Linear Limit"
-msgstr "Linear"
+msgstr "Limite Linear"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Upper Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância mais Alta"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Lower Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância mais Baixa"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23195,9 +22662,8 @@ msgid "Angular Motion"
msgstr "Animação"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Angular Ortho"
-msgstr "Máximo de Erros Angulares:"
+msgstr "Orto Angular"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23210,9 +22676,8 @@ msgid "Linear Motor X"
msgstr "Inicializar"
#: scene/3d/physics_joint.cpp
-#, fuzzy
msgid "Force Limit"
-msgstr "Chamadas de Desenho:"
+msgstr "Limite de Força"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23221,7 +22686,7 @@ msgstr "Linear"
#: scene/3d/physics_joint.cpp
msgid "Equilibrium Point"
-msgstr ""
+msgstr "Ponto de Equilíbrio"
#: scene/3d/physics_joint.cpp
msgid "Angular Limit X"
@@ -23310,9 +22775,8 @@ msgid "Two Way"
msgstr ""
#: scene/3d/portal.cpp
-#, fuzzy
msgid "Linked Room"
-msgstr "Raiz de Edição ao Vivo:"
+msgstr "Sala Vinculada"
#: scene/3d/portal.cpp
#, fuzzy
@@ -23320,18 +22784,16 @@ msgid "Use Default Margin"
msgstr "Predefinição"
#: scene/3d/proximity_group.cpp
-#, fuzzy
msgid "Group Name"
-msgstr "Agrupado"
+msgstr "Nome do Grupo"
#: scene/3d/proximity_group.cpp
msgid "Dispatch Mode"
msgstr ""
#: scene/3d/proximity_group.cpp
-#, fuzzy
msgid "Grid Radius"
-msgstr "Raio:"
+msgstr "Raio da Grade"
#: scene/3d/ray_cast.cpp
#, fuzzy
@@ -23340,7 +22802,7 @@ msgstr "Depurador"
#: scene/3d/ray_cast.cpp scene/resources/style_box.cpp
msgid "Thickness"
-msgstr ""
+msgstr "Espessura"
#: scene/3d/reflection_probe.cpp scene/main/viewport.cpp
#, fuzzy
@@ -23348,9 +22810,8 @@ msgid "Update Mode"
msgstr "Modo Rodar"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Origin Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento da Origem"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23358,19 +22819,16 @@ msgid "Box Projection"
msgstr "Projeto"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Enable Shadows"
-msgstr "Ativar Ajuste"
+msgstr "Ativar Sombras"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Color"
-msgstr "Escolher cor"
+msgstr "Cor Ambiente"
#: scene/3d/reflection_probe.cpp
-#, fuzzy
msgid "Ambient Energy"
-msgstr "Cores de Emissão"
+msgstr "Energia Ambiente"
#: scene/3d/reflection_probe.cpp
#, fuzzy
@@ -23448,38 +22906,34 @@ msgstr "Só deve existir um RoomManager na SceneTree."
#: scene/3d/room_manager.cpp
msgid "Main"
-msgstr ""
+msgstr "Principal"
#: scene/3d/room_manager.cpp scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_player.cpp scene/animation/animation_tree.cpp
#: scene/animation/animation_tree_player.cpp
#: servers/audio/effects/audio_effect_delay.cpp
-#, fuzzy
msgid "Active"
-msgstr "Ação"
+msgstr "Ativo"
#: scene/3d/room_manager.cpp
msgid "Roomlist"
msgstr ""
#: scene/3d/room_manager.cpp servers/visual_server.cpp
-#, fuzzy
msgid "PVS"
-msgstr "FPS"
+msgstr "PVS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Mode"
-msgstr "Modo deslocamento"
+msgstr "Modo PVS"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "PVS Filename"
-msgstr "Ficheiro ZIP"
+msgstr "Nome do Ficheiro PVS"
#: scene/3d/room_manager.cpp servers/visual_server.cpp
msgid "Gameplay"
-msgstr ""
+msgstr "Jogabilidade"
#: scene/3d/room_manager.cpp
#, fuzzy
@@ -23487,19 +22941,16 @@ msgid "Gameplay Monitor"
msgstr "Monitor"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Use Secondary PVS"
-msgstr "Usar Ajuste de Escala"
+msgstr "Usar PVS Secundário"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Merge Meshes"
-msgstr "Malha"
+msgstr "Mesclar Malhas"
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Show Margins"
-msgstr "Mostrar Origem"
+msgstr "Mostrar Margens"
#: scene/3d/room_manager.cpp
#, fuzzy
@@ -23511,18 +22962,16 @@ msgid "Overlap Warning Threshold"
msgstr ""
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Preview Camera"
-msgstr "Pré-visualização"
+msgstr "Visualizar Câmara"
#: scene/3d/room_manager.cpp
msgid "Portal Depth Limit"
msgstr ""
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Default Portal Margin"
-msgstr "Definir Margem"
+msgstr "Margem Padrão de Portal"
#: scene/3d/room_manager.cpp
#, fuzzy
@@ -23607,9 +23056,8 @@ msgid "Spatial Attachment Path"
msgstr ""
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Physics Enabled"
-msgstr "Frame de Física %"
+msgstr "Física Ativada"
#: scene/3d/soft_body.cpp
#, fuzzy
@@ -23621,9 +23069,8 @@ msgid "Simulation Precision"
msgstr "Precisão da Simulação"
#: scene/3d/soft_body.cpp
-#, fuzzy
msgid "Total Mass"
-msgstr "Total:"
+msgstr "Massa Total"
#: scene/3d/soft_body.cpp
msgid "Linear Stiffness"
@@ -23639,7 +23086,7 @@ msgstr ""
#: scene/3d/soft_body.cpp
msgid "Pressure Coefficient"
-msgstr ""
+msgstr "Coeficiente de Pressão"
#: scene/3d/soft_body.cpp
msgid "Damping Coefficient"
@@ -23668,18 +23115,16 @@ msgstr ""
"Em vez disso, mude o tamanho das formas de colisão filhas."
#: scene/3d/spatial.cpp
-#, fuzzy
msgid "Global Translation"
-msgstr "Manter Transformação Global"
+msgstr "Transformação Global"
#: scene/3d/spatial.cpp
msgid "Matrix"
-msgstr ""
+msgstr "Matriz"
#: scene/3d/spatial.cpp
-#, fuzzy
msgid "Gizmo"
-msgstr "Bugigangas"
+msgstr "Gizmo"
#: scene/3d/spatial_velocity_tracker.cpp
#, fuzzy
@@ -23692,12 +23137,11 @@ msgstr ""
#: scene/3d/sprite_3d.cpp scene/gui/graph_edit.cpp
msgid "Opacity"
-msgstr ""
+msgstr "Opacidade"
#: scene/3d/sprite_3d.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Transparent"
-msgstr "Transpor"
+msgstr "Transparente"
#: scene/3d/sprite_3d.cpp
msgid ""
@@ -23721,13 +23165,12 @@ msgid "Per-Wheel Motion"
msgstr "Botão roda para baixo"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Engine Force"
-msgstr "Documentação Online"
+msgstr "Força do Motor"
#: scene/3d/vehicle_body.cpp
msgid "Brake"
-msgstr ""
+msgstr "Freio"
#: scene/3d/vehicle_body.cpp
msgid "Steering"
@@ -23738,9 +23181,8 @@ msgid "VehicleBody Motion"
msgstr ""
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Use As Traction"
-msgstr "Separação:"
+msgstr "Usar Como Tração"
#: scene/3d/vehicle_body.cpp
msgid "Use As Steering"
@@ -23760,9 +23202,8 @@ msgid "Friction Slip"
msgstr "Função"
#: scene/3d/vehicle_body.cpp
-#, fuzzy
msgid "Suspension"
-msgstr "Expressão"
+msgstr "Suspensão"
#: scene/3d/vehicle_body.cpp
#, fuzzy
@@ -23771,12 +23212,21 @@ msgstr "Erro"
#: scene/3d/visibility_notifier.cpp
msgid "AABB"
-msgstr ""
+msgstr "AABB"
-#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordenar"
+
+#: scene/3d/visual_instance.cpp
#, fuzzy
+msgid "Use AABB Center"
+msgstr "Usar Ambiente"
+
+#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
-msgstr "Repetir"
+msgstr "Geometria"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23784,9 +23234,8 @@ msgid "Material Override"
msgstr "Sobrepõe"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Material Overlay"
-msgstr "Mudanças de Material:"
+msgstr "Sobreposição do Material"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23794,9 +23243,8 @@ msgid "Cast Shadow"
msgstr "Criar Nó Shader"
#: scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Extra Cull Margin"
-msgstr "Argumentos de chamada extra:"
+msgstr "Margem de Descarte Extra"
#: scene/3d/visual_instance.cpp
#, fuzzy
@@ -23814,13 +23262,12 @@ msgstr ""
#: scene/3d/visual_instance.cpp
msgid "LOD"
-msgstr ""
+msgstr "LOD (Nível de Detalhe)"
#: scene/3d/visual_instance.cpp scene/animation/skeleton_ik.cpp
#: scene/resources/material.cpp
-#, fuzzy
msgid "Min Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância Mínima"
#: scene/3d/visual_instance.cpp
msgid "Min Hysteresis"
@@ -23867,33 +23314,28 @@ msgid "Mix Mode"
msgstr "Nó Mix"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadein Time"
-msgstr "Tempo X-Fade (s):"
+msgstr "Tempo de Esmaecer de Entrada"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Fadeout Time"
-msgstr "Tempo X-Fade (s):"
+msgstr "Tempo de Esmaecer de Saída"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Auto Restart"
-msgstr "Reinício automático:"
+msgstr "Reinício Automático"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Autorestart"
-msgstr "Reinício automático:"
+msgstr "Reinício Automático"
#: scene/animation/animation_blend_tree.cpp
msgid "Delay"
-msgstr ""
+msgstr "Atraso"
#: scene/animation/animation_blend_tree.cpp
-#, fuzzy
msgid "Random Delay"
-msgstr "Inclinação aleatória:"
+msgstr "Atraso Aleatório"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -23917,9 +23359,8 @@ msgstr "Adicionar Porta de Entrada"
#: scene/animation/animation_blend_tree.cpp
#: scene/animation/animation_node_state_machine.cpp
-#, fuzzy
msgid "Xfade Time"
-msgstr "Tempo X-Fade (s):"
+msgstr "Tempo do Esmaecer Cruzado"
#: scene/animation/animation_node_state_machine.cpp
#, fuzzy
@@ -23952,7 +23393,7 @@ msgstr "Adicionar Animação"
#: scene/animation/animation_player.cpp
msgid "Reset On Save"
-msgstr ""
+msgstr "Redefinir ao Gravar"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -23965,9 +23406,8 @@ msgid "Current Animation Position"
msgstr "Adicionar Ponto Animação"
#: scene/animation/animation_player.cpp
-#, fuzzy
msgid "Playback Options"
-msgstr "Opções da Classe:"
+msgstr "Opções de Playback"
#: scene/animation/animation_player.cpp
#, fuzzy
@@ -24009,9 +23449,8 @@ msgid "The AnimationPlayer root node is not a valid node."
msgstr "O nó raiz de AnimationPlayer não é um nó válido."
#: scene/animation/animation_tree.cpp
-#, fuzzy
msgid "Tree Root"
-msgstr "Criar Nó Raiz:"
+msgstr "Nó Raiz"
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -24067,9 +23506,8 @@ msgid "Tip Bone"
msgstr "Ossos"
#: scene/animation/skeleton_ik.cpp
-#, fuzzy
msgid "Interpolation"
-msgstr "Modo de Interpolação"
+msgstr "Interpolação"
#: scene/animation/skeleton_ik.cpp
#, fuzzy
@@ -24122,7 +23560,7 @@ msgstr "Modo Seleção"
#: scene/gui/aspect_ratio_container.cpp scene/gui/box_container.cpp
msgid "Alignment"
-msgstr ""
+msgstr "Alinhamento"
#: scene/gui/base_button.cpp
#, fuzzy
@@ -24160,11 +23598,11 @@ msgstr "Copiar Texto"
#: scene/gui/button.cpp scene/gui/label.cpp scene/gui/line_edit.cpp
#: scene/gui/spin_box.cpp
msgid "Align"
-msgstr ""
+msgstr "Alinhar"
#: scene/gui/button.cpp
msgid "Icon Align"
-msgstr ""
+msgstr "Alinhamento do Ãcone"
#: scene/gui/button.cpp
#, fuzzy
@@ -24268,14 +23706,12 @@ msgid "Grow Direction"
msgstr "Direções"
#: scene/gui/control.cpp scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Min Size"
-msgstr "Tamanho do contorno:"
+msgstr "Tamanho Mínimo"
#: scene/gui/control.cpp
-#, fuzzy
msgid "Pivot Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento do Pivô"
#: scene/gui/control.cpp
#, fuzzy
@@ -24323,7 +23759,7 @@ msgstr "Anterior"
#: scene/gui/control.cpp
msgid "Mouse"
-msgstr ""
+msgstr "Mouse"
#: scene/gui/control.cpp
msgid "Default Cursor Shape"
@@ -24349,7 +23785,7 @@ msgstr "Propriedades do Tema"
#: scene/gui/dialogs.cpp
msgid "Window Title"
-msgstr ""
+msgstr "Título da Janela"
#: scene/gui/dialogs.cpp
#, fuzzy
@@ -24383,14 +23819,12 @@ msgid "Right Disconnects"
msgstr "Desligar"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Scroll Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento da Rolagem"
#: scene/gui/graph_edit.cpp
-#, fuzzy
msgid "Snap Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância de Encaixe"
#: scene/gui/graph_edit.cpp
#, fuzzy
@@ -24415,7 +23849,7 @@ msgstr "Mostrar ossos"
#: scene/gui/graph_edit.cpp scene/gui/text_edit.cpp
#: scene/resources/default_theme/default_theme.cpp
msgid "Minimap"
-msgstr ""
+msgstr "Mini-Mapa"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
@@ -24488,9 +23922,8 @@ msgid "Fixed Column Width"
msgstr ""
#: scene/gui/item_list.cpp
-#, fuzzy
msgid "Icon Scale"
-msgstr "Escala aleatória:"
+msgstr "Escala de Ãcone"
#: scene/gui/item_list.cpp
#, fuzzy
@@ -24503,9 +23936,8 @@ msgid "V Align"
msgstr "Atribuir"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Visible Characters"
-msgstr "Caracteres válidos:"
+msgstr "Caracteres Visiveis"
#: scene/gui/label.cpp scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24529,9 +23961,8 @@ msgid "Secret"
msgstr ""
#: scene/gui/line_edit.cpp
-#, fuzzy
msgid "Secret Character"
-msgstr "Caracteres válidos:"
+msgstr "Caracteres Secretos"
#: scene/gui/line_edit.cpp
msgid "Expand To Text Length"
@@ -24584,24 +24015,23 @@ msgstr "Carregar como marcador de posição"
#: scene/gui/line_edit.cpp
msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Circunflexo"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
-msgstr ""
+msgstr "Piscar"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Blink Speed"
-msgstr "Velocidade:"
+msgstr "Velocidade de Piscar"
#: scene/gui/link_button.cpp
msgid "Underline"
-msgstr ""
+msgstr "Sublinhado"
#: scene/gui/menu_button.cpp
#, fuzzy
@@ -24683,9 +24113,8 @@ msgid "Allow Search"
msgstr "Procurar"
#: scene/gui/progress_bar.cpp
-#, fuzzy
msgid "Percent"
-msgstr "Recente:"
+msgstr "Percentagem"
#: scene/gui/range.cpp
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
@@ -24744,9 +24173,8 @@ msgid "Absolute Index"
msgstr "Indentação Automática"
#: scene/gui/rich_text_effect.cpp
-#, fuzzy
msgid "Elapsed Time"
-msgstr "Tempos de Mistura:"
+msgstr "Tempo Decorrido"
#: scene/gui/rich_text_effect.cpp
#, fuzzy
@@ -24754,9 +24182,8 @@ msgid "Env"
msgstr "Fim"
#: scene/gui/rich_text_effect.cpp
-#, fuzzy
msgid "Character"
-msgstr "Caracteres válidos:"
+msgstr "Caractere"
#: scene/gui/rich_text_label.cpp
msgid "BBCode"
@@ -24767,9 +24194,8 @@ msgid "Meta Underlined"
msgstr ""
#: scene/gui/rich_text_label.cpp
-#, fuzzy
msgid "Tab Size"
-msgstr "Tamanho:"
+msgstr "Tamanho da Tabulação"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24790,9 +24216,8 @@ msgid "Selection Enabled"
msgstr "Apenas seleção"
#: scene/gui/rich_text_label.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Override Selected Font Color"
-msgstr "Configurar Perfil Selecionado:"
+msgstr "Sobrescrever Cor da Fonte Selecionada"
#: scene/gui/rich_text_label.cpp
#, fuzzy
@@ -24820,9 +24245,8 @@ msgid "Follow Focus"
msgstr "Povoar superfície"
#: scene/gui/scroll_container.cpp
-#, fuzzy
msgid "Horizontal Enabled"
-msgstr "Horizontal:"
+msgstr "Horizontal Ativado"
#: scene/gui/scroll_container.cpp
#, fuzzy
@@ -24843,24 +24267,20 @@ msgid "Tick Count"
msgstr "Escolher cor"
#: scene/gui/slider.cpp
-#, fuzzy
msgid "Ticks On Borders"
-msgstr "em ordem:"
+msgstr "Pontos Nas Bordas"
#: scene/gui/spin_box.cpp
-#, fuzzy
msgid "Prefix"
-msgstr "Prefixo:"
+msgstr "Prefixo"
#: scene/gui/spin_box.cpp
-#, fuzzy
msgid "Suffix"
-msgstr "Sufixo:"
+msgstr "Sufixo"
#: scene/gui/split_container.cpp
-#, fuzzy
msgid "Split Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento de Divisão"
#: scene/gui/split_container.cpp scene/gui/tree.cpp
#, fuzzy
@@ -24877,9 +24297,8 @@ msgid "Tab Align"
msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-#, fuzzy
msgid "Current Tab"
-msgstr "Atual:"
+msgstr "Guia Atual"
#: scene/gui/tab_container.cpp
#, fuzzy
@@ -24891,9 +24310,8 @@ msgid "All Tabs In Front"
msgstr ""
#: scene/gui/tab_container.cpp scene/gui/tabs.cpp
-#, fuzzy
msgid "Drag To Rearrange Enabled"
-msgstr "Arrastar e largar para reorganizar."
+msgstr "Arrastar Para Reorganizar Ativado"
#: scene/gui/tab_container.cpp
msgid "Use Hidden Tabs For Min Size"
@@ -24922,9 +24340,8 @@ msgid "Breakpoint Gutter"
msgstr "Saltar Pontos de Paragem"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Fold Gutter"
-msgstr "Pasta:"
+msgstr "Espaçamento de Dobra"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -24942,19 +24359,16 @@ msgid "Wrap Enabled"
msgstr "Ativar"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Scroll Vertical"
-msgstr "Vertical:"
+msgstr "Scroll Vertical"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Scroll Horizontal"
-msgstr "Horizontal:"
+msgstr "Scroll Horizontal"
#: scene/gui/text_edit.cpp
-#, fuzzy
msgid "Draw"
-msgstr "Chamadas de Desenho:"
+msgstr "Desenhar"
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -25012,9 +24426,8 @@ msgid "Progress Offset"
msgstr ""
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Fill Mode"
-msgstr "Modo Jogo:"
+msgstr "Modo de Preenchimento"
#: scene/gui/texture_progress.cpp scene/resources/material.cpp
msgid "Tint"
@@ -25030,9 +24443,8 @@ msgid "Initial Angle"
msgstr "Inicializar"
#: scene/gui/texture_progress.cpp
-#, fuzzy
msgid "Fill Degrees"
-msgstr "A rodar %s graus."
+msgstr "Graus de Preenchimento"
#: scene/gui/texture_progress.cpp scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -25083,9 +24495,8 @@ msgid "Hide Folding"
msgstr "Desativar Botão"
#: scene/gui/tree.cpp
-#, fuzzy
msgid "Hide Root"
-msgstr "Criar Nó Raiz:"
+msgstr "Esconder Raiz"
#: scene/gui/tree.cpp
msgid "Drop Mode Flags"
@@ -25098,7 +24509,7 @@ msgstr "Adicionar Pista"
#: scene/gui/video_player.cpp scene/main/scene_tree.cpp scene/main/timer.cpp
msgid "Paused"
-msgstr ""
+msgstr "Pausado"
#: scene/gui/video_player.cpp
#, fuzzy
@@ -25139,9 +24550,8 @@ msgid "Max Redirects"
msgstr ""
#: scene/main/http_request.cpp
-#, fuzzy
msgid "Timeout"
-msgstr "Tempo expirado."
+msgstr "Tempo esgotado"
#: scene/main/node.cpp
msgid ""
@@ -25156,7 +24566,7 @@ msgstr "Separador Nomeado"
#: scene/main/node.cpp
msgid "Name Casing"
-msgstr ""
+msgstr "Capitalização do Nome"
#: scene/main/node.cpp
#, fuzzy
@@ -25169,9 +24579,8 @@ msgid "Pause Mode"
msgstr "Modo deslocamento"
#: scene/main/node.cpp
-#, fuzzy
msgid "Physics Interpolation Mode"
-msgstr "Modo de Interpolação"
+msgstr "Modo de Interpolação da Física"
#: scene/main/node.cpp
#, fuzzy
@@ -25184,19 +24593,16 @@ msgid "Filename"
msgstr "Renomear"
#: scene/main/node.cpp
-#, fuzzy
msgid "Owner"
-msgstr "Proprietários de:"
+msgstr "Dono"
#: scene/main/node.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Multiplayer"
-msgstr "Multiplicar %s"
+msgstr "Multijogador"
#: scene/main/node.cpp
-#, fuzzy
msgid "Custom Multiplayer"
-msgstr "Definir Múltiplo:"
+msgstr "Multijogador Personalizado"
#: scene/main/node.cpp
#, fuzzy
@@ -25229,7 +24635,7 @@ msgstr "Nova Raiz da Cena"
#: scene/main/scene_tree.cpp
msgid "Root"
-msgstr ""
+msgstr "Raiz"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25239,11 +24645,11 @@ msgstr "Multiplicar %s"
#: scene/main/scene_tree.cpp scene/resources/mesh_library.cpp
#: scene/resources/shape_2d.cpp
msgid "Shapes"
-msgstr ""
+msgstr "Formas"
#: scene/main/scene_tree.cpp
msgid "Shape Color"
-msgstr ""
+msgstr "Cor da Forma"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25252,7 +24658,7 @@ msgstr "Escolher cor"
#: scene/main/scene_tree.cpp
msgid "Geometry Color"
-msgstr ""
+msgstr "Cor da Geometria"
#: scene/main/scene_tree.cpp
#, fuzzy
@@ -25269,14 +24675,12 @@ msgid "Draw 2D Outlines"
msgstr "Criar contorno"
#: scene/main/scene_tree.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Reflections"
-msgstr "Direções"
+msgstr "Reflexões"
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Atlas Size"
-msgstr "Tamanho do contorno:"
+msgstr "Tamanho do Atlas"
#: scene/main/scene_tree.cpp
msgid "Atlas Subdiv"
@@ -25288,7 +24692,7 @@ msgstr ""
#: scene/main/scene_tree.cpp
msgid "Use FXAA"
-msgstr ""
+msgstr "Usar FXAA"
#: scene/main/scene_tree.cpp
msgid "Use Debanding"
@@ -25296,16 +24700,15 @@ msgstr ""
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "HDR"
-msgstr ""
+msgstr "HDR"
#: scene/main/scene_tree.cpp scene/main/viewport.cpp
msgid "Use 32 BPC Depth"
msgstr ""
#: scene/main/scene_tree.cpp
-#, fuzzy
msgid "Default Environment"
-msgstr "Ver ambiente"
+msgstr "Ambiente Padrão"
#: scene/main/scene_tree.cpp
msgid ""
@@ -25334,9 +24737,8 @@ msgstr ""
"para tempos de espera muito baixos."
#: scene/main/timer.cpp
-#, fuzzy
msgid "Autostart"
-msgstr "Reinício automático:"
+msgstr "Início Automático"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25362,7 +24764,7 @@ msgstr ""
#: scene/main/viewport.cpp
msgid "ARVR"
-msgstr ""
+msgstr "ARVR"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25375,16 +24777,15 @@ msgstr ""
#: scene/main/viewport.cpp scene/resources/world_2d.cpp
msgid "World"
-msgstr ""
+msgstr "Mundo"
#: scene/main/viewport.cpp
msgid "World 2D"
-msgstr ""
+msgstr "Mundo 2D"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Transparent BG"
-msgstr "Transpor"
+msgstr "Fundo Transparente"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25393,7 +24794,7 @@ msgstr "Mudar valor de entrada"
#: scene/main/viewport.cpp
msgid "FXAA"
-msgstr ""
+msgstr "FXAA"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25412,7 +24813,7 @@ msgstr "Linear Esquerda"
#: scene/main/viewport.cpp
msgid "Render Direct To Screen"
-msgstr ""
+msgstr "Renderizar Diretamente ao Ecrã"
#: scene/main/viewport.cpp
#, fuzzy
@@ -25420,9 +24821,8 @@ msgid "Debug Draw"
msgstr "Depurar"
#: scene/main/viewport.cpp
-#, fuzzy
msgid "Render Target"
-msgstr "Renderizador:"
+msgstr "Alvo do Renderizador"
#: scene/main/viewport.cpp
msgid "V Flip"
@@ -25530,7 +24930,7 @@ msgstr "Navegação"
#: scene/register_scene_types.cpp
msgid "Use hiDPI"
-msgstr ""
+msgstr "Usar hiDPI"
#: scene/register_scene_types.cpp
#, fuzzy
@@ -25550,12 +24950,11 @@ msgstr "Nó Mix"
#: scene/resources/audio_stream_sample.cpp
msgid "Stereo"
-msgstr ""
+msgstr "Stereo"
#: scene/resources/concave_polygon_shape_2d.cpp
-#, fuzzy
msgid "Segments"
-msgstr "Argumentos da Cena Principal:"
+msgstr "Segmentos"
#: scene/resources/curve.cpp
#, fuzzy
@@ -25568,7 +24967,7 @@ msgstr ""
#: scene/resources/default_theme/default_theme.cpp
msgid "Panel"
-msgstr ""
+msgstr "Painel"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25596,9 +24995,8 @@ msgid "Font Color Disabled"
msgstr "Recorte desativado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "H Separation"
-msgstr "Separação:"
+msgstr "Separação Horizontal"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25607,7 +25005,7 @@ msgstr "Loop da Animação"
#: scene/resources/default_theme/default_theme.cpp
msgid "Arrow"
-msgstr ""
+msgstr "Seta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25686,14 +25084,12 @@ msgid "Font Outline Modulate"
msgstr "Forçar modulação branca"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset X"
-msgstr "Deslocação X da grelha:"
+msgstr "Deslocamento da Sombra em X"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Shadow Offset Y"
-msgstr "Deslocação Y da grelha:"
+msgstr "Deslocamento da Sombra em Y"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25751,14 +25147,12 @@ msgid "Space"
msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folded"
-msgstr "Pasta:"
+msgstr "Dobrado"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Fold"
-msgstr "Pasta:"
+msgstr "Dobrar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Font Color Readonly"
@@ -25922,14 +25316,12 @@ msgid "Font Color Accel"
msgstr "Renomear Item Cor"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Font Color Separator"
-msgstr "Operador de Cor."
+msgstr "Separador de Cor da Fonte"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "V Separation"
-msgstr "Separação:"
+msgstr "Separação Vertical"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25982,9 +25374,8 @@ msgid "Close Offset"
msgstr "Compensação da grelha:"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Port Offset"
-msgstr "Compensação da grelha:"
+msgstr "Deslocamento de Porta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -25998,7 +25389,7 @@ msgstr "Selecionar"
#: scene/resources/default_theme/default_theme.cpp
msgid "Cursor Unfocused"
-msgstr ""
+msgstr "Cursor Desfocado"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26094,14 +25485,12 @@ msgid "Draw Guides"
msgstr "Mostrar Guias"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Scroll Border"
-msgstr "Vertical:"
+msgstr "Borda da Barra de Rolagem"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Scroll Speed"
-msgstr "Compensação da grelha:"
+msgstr "Velocidade de Rolagem"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26109,9 +25498,8 @@ msgid "Icon Margin"
msgstr "Definir Margem"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Separation"
-msgstr "Separação:"
+msgstr "Separação de Linha"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26119,9 +25507,8 @@ msgid "Tab FG"
msgstr "Aba 1"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Tab BG"
-msgstr "Aba 1"
+msgstr "BG da Guia"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26130,7 +25517,7 @@ msgstr "Item Desativado"
#: scene/resources/default_theme/default_theme.cpp
msgid "Menu"
-msgstr ""
+msgstr "Menu"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26171,9 +25558,8 @@ msgid "Large"
msgstr "Alvo"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Folder"
-msgstr "Pasta:"
+msgstr "Pasta"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26211,9 +25597,8 @@ msgid "Label Width"
msgstr "Esquerda Wide"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Screen Picker"
-msgstr "Operador Ecrã."
+msgstr "Seletor de Ecrã"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26231,9 +25616,8 @@ msgid "Color Sample"
msgstr "Cores"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Preset BG"
-msgstr "Predefinições"
+msgstr "Fundo Predefinido"
#: scene/resources/default_theme/default_theme.cpp
msgid "Overbright Indicator"
@@ -26245,9 +25629,8 @@ msgid "Preset FG"
msgstr "Predefinições"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Preset BG Icon"
-msgstr "Predefinições"
+msgstr "Ãcone de Fundo Predefinido"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26266,7 +25649,7 @@ msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
msgid "Bold Italics Font"
-msgstr ""
+msgstr "Fonte Negrito Itálica"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26274,14 +25657,12 @@ msgid "Mono Font"
msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table H Separation"
-msgstr "Separação:"
+msgstr "Separação Horizontal da Tabela"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Table V Separation"
-msgstr "Separação:"
+msgstr "Separação Vertical da Tabela"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26310,11 +25691,11 @@ msgstr "Corte automático"
#: scene/resources/default_theme/default_theme.cpp
msgid "Minus"
-msgstr ""
+msgstr "Menos"
#: scene/resources/default_theme/default_theme.cpp
msgid "More"
-msgstr ""
+msgstr "Mais"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26374,9 +25755,8 @@ msgid "Font Path"
msgstr "Caminho de Foco"
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Outline Size"
-msgstr "Tamanho do contorno:"
+msgstr "Tamanho do Contorno"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26389,14 +25769,12 @@ msgid "Use Mipmaps"
msgstr "Sinais"
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Extra Spacing"
-msgstr "Opções Extra:"
+msgstr "Espaçamento Extra"
#: scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Char"
-msgstr "Caracteres válidos:"
+msgstr "Caractere"
#: scene/resources/dynamic_font.cpp
#, fuzzy
@@ -26405,11 +25783,11 @@ msgstr "Com Dados"
#: scene/resources/environment.cpp
msgid "Background"
-msgstr ""
+msgstr "Plano de Fundo"
#: scene/resources/environment.cpp scene/resources/sky.cpp
msgid "Sky"
-msgstr ""
+msgstr "Céu"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26422,14 +25800,12 @@ msgid "Sky Orientation"
msgstr "Documentação Online"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Rotation"
-msgstr "Passo da rotação:"
+msgstr "Rotação do Céu"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sky Rotation Degrees"
-msgstr "A rodar %s graus."
+msgstr "Graus de Rotação do Céu"
#: scene/resources/environment.cpp
msgid "Canvas Max Layer"
@@ -26451,17 +25827,15 @@ msgstr "Condição"
#: scene/resources/environment.cpp
msgid "Fog"
-msgstr ""
+msgstr "Névoa"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sun Color"
-msgstr "Armazenar o Ficheiro:"
+msgstr "Cor do Sol"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Sun Amount"
-msgstr "Valor:"
+msgstr "Quantidade do Sol"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26525,7 +25899,7 @@ msgstr "Exportar"
#: scene/resources/environment.cpp
msgid "White"
-msgstr ""
+msgstr "Branco"
#: scene/resources/environment.cpp
msgid "Auto Exposure"
@@ -26550,14 +25924,12 @@ msgid "Max Steps"
msgstr "Passo"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade In"
-msgstr "Aparecer (s):"
+msgstr "Esmaecer de Entrada"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Fade Out"
-msgstr "Desvanecer (s):"
+msgstr "Esmaecer de Saída"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26566,16 +25938,15 @@ msgstr "Profundidade"
#: scene/resources/environment.cpp scene/resources/material.cpp
msgid "Roughness"
-msgstr ""
+msgstr "Rugosidade"
#: scene/resources/environment.cpp
msgid "SSAO"
-msgstr ""
+msgstr "SSAO"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Radius 2"
-msgstr "Raio:"
+msgstr "Raio 2"
#: scene/resources/environment.cpp
msgid "Intensity 2"
@@ -26604,9 +25975,8 @@ msgid "DOF Far Blur"
msgstr ""
#: scene/resources/environment.cpp scene/resources/material.cpp
-#, fuzzy
msgid "Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância"
#: scene/resources/environment.cpp
msgid "Transition"
@@ -26618,7 +25988,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Glow"
-msgstr ""
+msgstr "Brilho"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26680,7 +26050,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Adjustments"
-msgstr ""
+msgstr "Ajustamentos"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26688,19 +26058,16 @@ msgid "Brightness"
msgstr "Luz"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Saturation"
-msgstr "Separação:"
+msgstr "Separação"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Color Correction"
-msgstr "Função Cor."
+msgstr "Correção de Cor"
#: scene/resources/font.cpp
-#, fuzzy
msgid "Ascent"
-msgstr "Recente:"
+msgstr "Subida"
#: scene/resources/font.cpp
#, fuzzy
@@ -26713,9 +26080,8 @@ msgid "Raw Data"
msgstr "Profundidade"
#: scene/resources/gradient.cpp
-#, fuzzy
msgid "Offsets"
-msgstr "Compensação:"
+msgstr "Deslocamentos"
#: scene/resources/height_map_shape.cpp
msgid "Map Width"
@@ -26745,9 +26111,8 @@ msgid "Use Shadow To Opacity"
msgstr ""
#: scene/resources/material.cpp
-#, fuzzy
msgid "Unshaded"
-msgstr "Vista sem sombras"
+msgstr "Sem sombra"
#: scene/resources/material.cpp
#, fuzzy
@@ -26769,7 +26134,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Do Not Receive Shadows"
-msgstr ""
+msgstr "Não Receber Sombras"
#: scene/resources/material.cpp
#, fuzzy
@@ -26796,12 +26161,11 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Is sRGB"
-msgstr ""
+msgstr "É sRGB"
#: scene/resources/material.cpp servers/visual_server.cpp
-#, fuzzy
msgid "Parameters"
-msgstr "Parâmetro Alterado:"
+msgstr "Parâmetros"
#: scene/resources/material.cpp
#, fuzzy
@@ -26840,12 +26204,11 @@ msgstr "Modo Régua"
#: scene/resources/material.cpp
msgid "Grow"
-msgstr ""
+msgstr "Crescer"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Grow Amount"
-msgstr "Valor:"
+msgstr "Quantidade de Crescimento"
#: scene/resources/material.cpp
msgid "Use Alpha Scissor"
@@ -26868,11 +26231,11 @@ msgstr "Frame %"
#: scene/resources/material.cpp
msgid "Albedo"
-msgstr ""
+msgstr "Albedo"
#: scene/resources/material.cpp
msgid "Metallic"
-msgstr ""
+msgstr "Metálico"
#: scene/resources/material.cpp
#, fuzzy
@@ -26880,9 +26243,8 @@ msgid "Texture Channel"
msgstr "TextureRegion"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Emission"
-msgstr "Máscara de Emissão"
+msgstr "Emissão"
#: scene/resources/material.cpp
msgid "On UV2"
@@ -26907,7 +26269,7 @@ msgstr ""
#: scene/resources/material.cpp
msgid "Anisotropy"
-msgstr ""
+msgstr "Anisotrópico"
#: scene/resources/material.cpp
msgid "Flowmap"
@@ -26950,13 +26312,12 @@ msgid "Transmission"
msgstr "Transmissão"
#: scene/resources/material.cpp
-#, fuzzy
msgid "Refraction"
-msgstr "Separação:"
+msgstr "Refração"
#: scene/resources/material.cpp
msgid "Detail"
-msgstr ""
+msgstr "Detalhe"
#: scene/resources/material.cpp
#, fuzzy
@@ -27002,7 +26363,7 @@ msgstr "Consolidar Lightmaps"
#: scene/resources/mesh.cpp scene/resources/primitive_meshes.cpp
msgid "Custom AABB"
-msgstr ""
+msgstr "AABB Personalizado"
#: scene/resources/mesh_library.cpp
#, fuzzy
@@ -27015,14 +26376,12 @@ msgid "NavMesh Transform"
msgstr "Limpar Transformação"
#: scene/resources/multimesh.cpp
-#, fuzzy
msgid "Color Format"
-msgstr "Operador de Cor."
+msgstr "Formato de Cor"
#: scene/resources/multimesh.cpp
-#, fuzzy
msgid "Transform Format"
-msgstr "Transformação Abortada."
+msgstr "Formato de Transformação"
#: scene/resources/multimesh.cpp
msgid "Custom Data Format"
@@ -27035,12 +26394,11 @@ msgstr "Instância"
#: scene/resources/multimesh.cpp
msgid "Visible Instance Count"
-msgstr ""
+msgstr "Quantidade de Instâncias Visíveis"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Sampling"
-msgstr "A escalar: "
+msgstr "Mostragem"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -27048,27 +26406,24 @@ msgid "Partition Type"
msgstr "Definir tipo de variável"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Parsed Geometry Type"
-msgstr "A analisar geometria..."
+msgstr "Tipo de Geometria Analisada"
#: scene/resources/navigation_mesh.cpp
msgid "Source Geometry Mode"
msgstr ""
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Source Group Name"
-msgstr "Fonte"
+msgstr "Origem do Nome do Grupo"
#: scene/resources/navigation_mesh.cpp
msgid "Cells"
-msgstr ""
+msgstr "Células"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Agents"
-msgstr "Argumentos da Cena Principal:"
+msgstr "Agentes"
#: scene/resources/navigation_mesh.cpp
msgid "Max Climb"
@@ -27090,7 +26445,7 @@ msgstr "Mesclar a partir da Cena"
#: scene/resources/navigation_mesh.cpp
msgid "Edges"
-msgstr ""
+msgstr "Arestas"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -27099,7 +26454,7 @@ msgstr "Erro"
#: scene/resources/navigation_mesh.cpp
msgid "Verts Per Poly"
-msgstr ""
+msgstr "Vértices Por Polígono"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -27107,9 +26462,8 @@ msgid "Details"
msgstr "Mostrar Predefinição"
#: scene/resources/navigation_mesh.cpp
-#, fuzzy
msgid "Sample Distance"
-msgstr "Distância de escolha:"
+msgstr "Distância de Amostra"
#: scene/resources/navigation_mesh.cpp
#, fuzzy
@@ -27140,7 +26494,7 @@ msgstr "Compensação:"
#: scene/resources/occluder_shape.cpp
msgid "Spheres"
-msgstr ""
+msgstr "Esferas"
#: scene/resources/occluder_shape.cpp
msgid "OccluderShapeSphere Set Spheres"
@@ -27180,9 +26534,8 @@ msgid "Color Modifier"
msgstr "Freelook Modificador de Lentidão"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Point Texture"
-msgstr "Pontos de emissão:"
+msgstr "Textura de Ponto"
#: scene/resources/particles_material.cpp
msgid "Normal Texture"
@@ -27199,9 +26552,8 @@ msgid "Point Count"
msgstr "Adicionar Porta de Entrada"
#: scene/resources/particles_material.cpp
-#, fuzzy
msgid "Scale Random"
-msgstr "Proporção de Escala:"
+msgstr "Randomização de Escala"
#: scene/resources/particles_material.cpp
#, fuzzy
@@ -27217,9 +26569,8 @@ msgid "Absorbent"
msgstr ""
#: scene/resources/plane_shape.cpp
-#, fuzzy
msgid "Plane"
-msgstr "Plano:"
+msgstr "Plano"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -27243,9 +26594,8 @@ msgid "Subdivide Depth"
msgstr ""
#: scene/resources/primitive_meshes.cpp
-#, fuzzy
msgid "Top Radius"
-msgstr "Raio:"
+msgstr "Raio do Topo"
#: scene/resources/primitive_meshes.cpp
#, fuzzy
@@ -27294,9 +26644,8 @@ msgid "Bone"
msgstr "Ossos"
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Radiance Size"
-msgstr "Tamanho do contorno:"
+msgstr "Tamanho da Radiância"
#: scene/resources/sky.cpp
msgid "Panorama"
@@ -27308,9 +26657,8 @@ msgid "Top Color"
msgstr "Próximo Piso"
#: scene/resources/sky.cpp
-#, fuzzy
msgid "Horizon Color"
-msgstr "Armazenar o Ficheiro:"
+msgstr "Cor do Horizonte"
#: scene/resources/sky.cpp
#, fuzzy
@@ -27334,7 +26682,7 @@ msgstr "Substituto"
#: scene/resources/sky.cpp
msgid "Longitude"
-msgstr ""
+msgstr "Longitude"
#: scene/resources/sky.cpp
msgid "Angle Min"
@@ -27369,7 +26717,7 @@ msgstr ""
#: scene/resources/style_box.cpp
msgid "Anti Aliasing"
-msgstr ""
+msgstr "Anti Serrilhamento"
#: scene/resources/style_box.cpp
msgid "Grow Begin"
@@ -27419,9 +26767,8 @@ msgid "Lossy Storage Quality"
msgstr "Capturar"
#: scene/resources/texture.cpp
-#, fuzzy
msgid "From"
-msgstr "Modo Jogo:"
+msgstr "À Partir de"
#: scene/resources/texture.cpp
#, fuzzy
@@ -27595,11 +26942,11 @@ msgstr "Editar Conexão:"
#: scene/resources/world_2d.cpp
msgid "Canvas"
-msgstr ""
+msgstr "Tela"
#: servers/arvr/arvr_interface.cpp
msgid "Is Primary"
-msgstr ""
+msgstr "É Principal"
#: servers/arvr/arvr_interface.cpp
#, fuzzy
@@ -27625,9 +26972,8 @@ msgid "Audio Stream"
msgstr "Item Rádio"
#: servers/audio/audio_stream.cpp
-#, fuzzy
msgid "Random Pitch"
-msgstr "Inclinação aleatória:"
+msgstr "Timbre Aleatório"
#: servers/audio/effects/audio_effect_capture.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
@@ -27637,27 +26983,27 @@ msgstr ""
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "Voice Count"
-msgstr ""
+msgstr "Quantidade de Vozes"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Dry"
-msgstr ""
+msgstr "Seco"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Wet"
-msgstr ""
+msgstr "Molhado"
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "Voice"
-msgstr ""
+msgstr "Voz"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Delay (ms)"
-msgstr ""
+msgstr "Atraso (ms)"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_phaser.cpp
@@ -27672,7 +27018,7 @@ msgstr "Profundidade"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
msgid "Level dB"
-msgstr ""
+msgstr "Nível dB"
#: servers/audio/effects/audio_effect_chorus.cpp
#: servers/audio/effects/audio_effect_delay.cpp
@@ -27684,11 +27030,11 @@ msgstr "Plano:"
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
msgid "Gain"
-msgstr ""
+msgstr "Ganho"
#: servers/audio/effects/audio_effect_compressor.cpp
msgid "Attack (µs)"
-msgstr ""
+msgstr "Ataque (µs)"
#: servers/audio/effects/audio_effect_compressor.cpp
#, fuzzy
@@ -27725,7 +27071,7 @@ msgstr "Ignorar"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Pre Gain"
-msgstr ""
+msgstr "Pré Ganho"
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Keep Hf Hz"
@@ -27775,13 +27121,12 @@ msgstr ""
#: servers/audio/effects/audio_effect_pitch_shift.cpp
#: servers/audio/effects/audio_effect_spectrum_analyzer.cpp
-#, fuzzy
msgid "FFT Size"
-msgstr "Tamanho:"
+msgstr "Tamanho FFT"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Predelay"
-msgstr ""
+msgstr "Pré Atraso"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Msec"
@@ -27789,7 +27134,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Room Size"
-msgstr ""
+msgstr "Tamanho da Sala"
#: servers/audio/effects/audio_effect_reverb.cpp
#, fuzzy
@@ -27805,9 +27150,8 @@ msgid "Pan Pullout"
msgstr ""
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
-#, fuzzy
msgid "Time Pullout (ms)"
-msgstr "Tempo expirado."
+msgstr "Retirada de Tempo (ms)"
#: servers/audio/effects/audio_effect_stereo_enhance.cpp
msgid "Surround"
@@ -27819,9 +27163,8 @@ msgid "Enable Audio Input"
msgstr "Renomear o barramento de áudio"
#: servers/audio_server.cpp
-#, fuzzy
msgid "Output Latency"
-msgstr "Saída"
+msgstr "Latência de Saída"
#: servers/audio_server.cpp
msgid "Channel Disable Threshold dB"
@@ -27870,12 +27213,11 @@ msgstr ""
#: servers/physics/space_sw.cpp servers/physics_2d/space_2d_sw.cpp
msgid "Time Before Sleep"
-msgstr ""
+msgstr "Tempo Antes de Dormir"
#: servers/physics_2d/physics_2d_server_sw.cpp
-#, fuzzy
msgid "BP Hash Table Size"
-msgstr "Tamanho:"
+msgstr "Tamanho da \"BP Hash Table\""
#: servers/physics_2d/physics_2d_server_sw.cpp
msgid "Large Object Surface Threshold In Cells"
@@ -27883,12 +27225,11 @@ msgstr ""
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Inverse Mass"
-msgstr ""
+msgstr "Inverter Massa"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
-#, fuzzy
msgid "Inverse Inertia"
-msgstr "Freelook Esquerda"
+msgstr "Inverter Inércia"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Total Angular Damp"
@@ -27911,7 +27252,7 @@ msgstr "Inicializar"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Exclude"
-msgstr ""
+msgstr "Excluir"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Shape RID"
@@ -27924,7 +27265,7 @@ msgstr "Modo Colisão"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Collide With Areas"
-msgstr ""
+msgstr "Colidir com Ãreas"
#: servers/physics_2d_server.cpp servers/physics_server.cpp
msgid "Motion Remainder"
@@ -28004,9 +27345,8 @@ msgid "Constants cannot be modified."
msgstr "Constantes não podem ser modificadas."
#: servers/visual/visual_server_scene.cpp
-#, fuzzy
msgid "Spatial Partitioning"
-msgstr "A segmentar..."
+msgstr "Particionamento Espacial"
#: servers/visual_server.cpp
#, fuzzy
@@ -28045,16 +27385,15 @@ msgstr "Importar tema"
#: servers/visual_server.cpp
msgid "Lossless Compression"
-msgstr ""
+msgstr "Compressão Sem Perda"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Force PNG"
-msgstr "Forçar Impulso"
+msgstr "Forçar PNG"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
-msgstr ""
+msgstr "Nível de Compressão WebP"
#: servers/visual_server.cpp
msgid "Time Rollover Secs"
@@ -28098,7 +27437,7 @@ msgstr "Centrar Seleção"
#: servers/visual_server.cpp
msgid "High Quality GGX"
-msgstr ""
+msgstr "GGX de Alta Qualidade"
#: servers/visual_server.cpp
msgid "Irradiance Max Size"
@@ -28172,9 +27511,8 @@ msgid "Ninepatch Mode"
msgstr "Modo de Interpolação"
#: servers/visual_server.cpp
-#, fuzzy
msgid "OpenGL"
-msgstr "Abrir"
+msgstr "abrir"
#: servers/visual_server.cpp
msgid "Batching Send Null"
@@ -28194,9 +27532,8 @@ msgid "Legacy Stream"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Batching"
-msgstr "A procurar..."
+msgstr "Loteamento"
#: servers/visual_server.cpp
msgid "Use Batching"
@@ -28224,9 +27561,8 @@ msgid "Scissor Area Threshold"
msgstr ""
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Join Items"
-msgstr "Gerir Itens..."
+msgstr "Máximo de Itens de Junção"
#: servers/visual_server.cpp
msgid "Batch Buffer Size"
@@ -28238,7 +27574,7 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Flash Batching"
-msgstr ""
+msgstr "Loteamento de Flashes"
#: servers/visual_server.cpp
#, fuzzy
@@ -28247,15 +27583,15 @@ msgstr "Colar Frame"
#: servers/visual_server.cpp
msgid "GLES2"
-msgstr ""
+msgstr "GLES2"
#: servers/visual_server.cpp
msgid "Compatibility"
-msgstr ""
+msgstr "Compatibilidade"
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "Desativar Meia Float"
#: servers/visual_server.cpp
#, fuzzy
@@ -28269,11 +27605,11 @@ msgstr "Expressão"
#: servers/visual_server.cpp
msgid "UV Contract"
-msgstr ""
+msgstr "Contrato UV"
#: servers/visual_server.cpp
msgid "UV Contract Amount"
-msgstr ""
+msgstr "Valor do Contrato UV"
#: servers/visual_server.cpp
#, fuzzy
@@ -28282,7 +27618,7 @@ msgstr "Usar Ajuste de Escala"
#: servers/visual_server.cpp
msgid "PVS Logging"
-msgstr ""
+msgstr "Registo PVS"
#: servers/visual_server.cpp
#, fuzzy
@@ -28306,12 +27642,11 @@ msgstr "Ver Culling da Oclusão"
#: servers/visual_server.cpp
msgid "Max Active Spheres"
-msgstr ""
+msgstr "Máximo de Esferas Ativas"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Active Polygons"
-msgstr "Mover Polígono"
+msgstr "Máximo de Polígonos Ativos"
#: servers/visual_server.cpp
#, fuzzy
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index 30ad718462..8e574f992d 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -38,7 +38,7 @@
# Pedro Pacheco <pedroxixipa@hotmail.com>, 2018, 2019.
# Bruno Henrique <nimbusdroid@gmail.com>, 2018, 2019.
# Luciano Scilletta <lucianoscilletta@gmail.com>, 2018.
-# Julio Yagami <juliohenrique31501234@hotmail.com>, 2018, 2019.
+# Julio Yagami <juliohenrique31501234@hotmail.com>, 2018, 2019, 2022.
# Fernando Martinez <contact@fernandodev.com>, 2018.
# Marcelo <mitissa@gmail.com>, 2018, 2019.
# Walter Bolitto <wrcarval@live.com>, 2018, 2019.
@@ -95,21 +95,21 @@
# Felipe Jesus Macedo <fmacedo746@gmail.com>, 2020.
# José Paulo <jose.paulo1919@gmail.com>, 2020.
# Necco <necco@outlook.com>, 2020.
-# Marcelo Silveira Hayden <mshayden.1998@gmail.com>, 2020, 2021.
+# Marcelo Silveira Hayden <mshayden.1998@gmail.com>, 2020, 2021, 2022.
# GUILHERME SOUZA REIS DE MELO LOPES <guilhermesrml@unipam.edu.br>, 2020.
# Gabriela Araújo <Gabirin@outlook.com.br>, 2020.
# Jairo Tuboi <tuboi.jairo@gmail.com>, 2020.
# Felipe Fetter <felipetfetter@gmail.com>, 2020.
# Rafael Henrique Capati <rhcapati@gmail.com>, 2020.
-# NogardRyuu <nogardryuu@gmail.com>, 2020, 2021.
+# NogardRyuu <nogardryuu@gmail.com>, 2020, 2021, 2022.
# Elton <eltondeoliveira@outlook.com>, 2020, 2021.
-# ThiagoCTN <thiagocampostn@gmail.com>, 2020.
+# ThiagoCTN <thiagocampostn@gmail.com>, 2020, 2022.
# Alec Santos <alecsantos96@gmail.com>, 2020.
# Augusto Milão <augusto.milao01@gmail.com>, 2021, 2022.
# Gabriel Gavazzi Felix <mutcholoko32@gmail.com>, 2021.
# Lucas Dantas <lucas.lucantas38@gmail.com>, 2021.
-# Carlos Bonifacio <carlosboni.sa@gmail.com>, 2021.
-# Lucas Castro <castroclucas@gmail.com>, 2021.
+# Carlos Bonifacio <carlosboni.sa@gmail.com>, 2021, 2022.
+# Lucas Castro <castroclucas@gmail.com>, 2021, 2022.
# Ricardo Zamarrenho Carvalho Correa <ricardozcc17@gmail.com>, 2021.
# Diego dos Reis Macedo <diego_dragon97@hotmail.com>, 2021.
# Lucas E. <lukas.ed45@gmail.com>, 2021.
@@ -153,13 +153,16 @@
# Mauricio Mazur <mauricio.mazur12@gmail.com>, 2022.
# ! Zyll <emanueljunior756@gmail.com>, 2022.
# Kirrby <kirrby.gaming@gmail.com>, 2022.
+# Murilo Gama <murilovsky2030@gmail.com>, 2022.
+# Kauã Azevedo <Kazevic@pm.me>, 2022.
+# Zer0-Zer0 <dankmemerson@tutanota.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: Kirrby <kirrby.gaming@gmail.com>\n"
+"PO-Revision-Date: 2022-12-10 02:13+0000\n"
+"Last-Translator: Julio Yagami <juliohenrique31501234@hotmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -167,7 +170,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -1293,7 +1296,7 @@ msgstr "Manipulador de Entrada"
#: editor/animation_track_editor.cpp
msgid "Out Handle"
-msgstr "Manipulador de Saída"
+msgstr "Fora do controle"
#: editor/animation_track_editor.cpp
#: editor/import/resource_importer_texture.cpp
@@ -1575,7 +1578,7 @@ msgstr "Editores"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
msgid "Confirm Insert Track"
-msgstr "Confirmar Inserção de Trilha"
+msgstr "Confirmar inserção de faixa"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -1746,7 +1749,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Anim Add RESET Keys"
-msgstr "Anim Adicionar Teclas de RESET"
+msgstr "Anim adicionar teclas de RESET"
#: editor/animation_track_editor.cpp
msgid ""
@@ -3065,7 +3068,7 @@ msgstr "Em exportações de 32 bits, o PCK embutido não pode ser maior que 4GB.
#: editor/editor_export.cpp
msgid "Convert Text Resources To Binary On Export"
-msgstr "Converter Recursos de Texto para Binário na Exportação"
+msgstr "Converter recursos de texto para binário na exportação"
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -4416,7 +4419,7 @@ msgstr "Sempre Limpar Output no modo Play"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Open Output On Play"
-msgstr "Sempre abrir a saída ao jogar"
+msgstr "Sempre abrir a saída ao reproduzir"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Always Close Output On Stop"
@@ -4424,7 +4427,7 @@ msgstr "Sempre fechar a saída ao parar"
#: editor/editor_node.cpp
msgid "Save On Focus Loss"
-msgstr "Salvar em caso de perda de foco"
+msgstr "Salvar ao perder o foco"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Save Each Scene On Quit"
@@ -4456,7 +4459,7 @@ msgstr "Restaurar Cenas ao Carregar"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Show Thumbnail On Hover"
-msgstr "Mostrar miniatura ao passar o mouse"
+msgstr "Exibir miniatura ao passar o mouse por cima"
#: editor/editor_node.cpp editor/editor_settings.cpp
msgid "Inspector"
@@ -4464,11 +4467,11 @@ msgstr "Inspetor"
#: editor/editor_node.cpp
msgid "Default Property Name Style"
-msgstr "Estilo de Nome de Propriedade Padrão"
+msgstr "Estilo de Nome Padrão de Propriedade"
#: editor/editor_node.cpp
msgid "Default Float Step"
-msgstr "Passo de ponto flutuante padrão"
+msgstr "Passo de Float padrão"
#: editor/editor_node.cpp scene/gui/tree.cpp
msgid "Disable Folding"
@@ -5359,7 +5362,7 @@ msgstr "Linguagem do Editor"
#: editor/editor_settings.cpp
msgid "Display Scale"
-msgstr "Escala de Exibição"
+msgstr "Exibir Escala"
#: editor/editor_settings.cpp
msgid "Custom Display Scale"
@@ -5367,15 +5370,15 @@ msgstr "Escala de Exibição Customizada"
#: editor/editor_settings.cpp
msgid "Main Font Size"
-msgstr "Tamanho de Fonte Principal"
+msgstr "Tamanho da Fonte Principal"
#: editor/editor_settings.cpp
msgid "Code Font Size"
-msgstr "Tamanho de Fonte (Tipo) no Código"
+msgstr "Tamanho da Fonte do Código"
#: editor/editor_settings.cpp
msgid "Font Antialiased"
-msgstr "Fonte Com Serrilhado Suavizado"
+msgstr "Fonte com Anti-aliasing"
#: editor/editor_settings.cpp
msgid "Font Hinting"
@@ -5387,27 +5390,27 @@ msgstr "Fonte Principal"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
-msgstr "Fonte Principal (Negrito)"
+msgstr "Fonte Principal com Negrito"
#: editor/editor_settings.cpp
msgid "Code Font"
-msgstr "Fonte para Código"
+msgstr "Fonte do Código"
#: editor/editor_settings.cpp
msgid "Dim Editor On Dialog Popup"
-msgstr "Escurecer o Editor ao Abir Janela Popup"
+msgstr "Escurecer Editor no Pop-up de Diálogo"
#: editor/editor_settings.cpp main/main.cpp
msgid "Low Processor Mode Sleep (µsec)"
-msgstr "Tempo de Espera em Modo de Hibernação (µseg)"
+msgstr "Modo de baixo processamento tempo (µsec)"
#: editor/editor_settings.cpp
msgid "Unfocused Low Processor Mode Sleep (µsec)"
-msgstr "Tempo de Espera em Modo de Hibernação Quando Fora de Foco (µseg)"
+msgstr "Modo de baixo processamento não focado (µsec)"
#: editor/editor_settings.cpp
msgid "Separate Distraction Mode"
-msgstr "Modo \"Sem Distrações\" Desacoplado"
+msgstr "Separar Modo Distração"
#: editor/editor_settings.cpp
msgid "Automatically Open Screenshots"
@@ -5429,7 +5432,7 @@ msgstr "Predefinição"
#: editor/editor_settings.cpp
msgid "Icon And Font Color"
-msgstr "Cor da Fonte e do Ãcone"
+msgstr "Cores do ícone e da fonte"
#: editor/editor_settings.cpp
msgid "Base Color"
@@ -5505,7 +5508,7 @@ msgstr "Tamanho da Miniatura"
#: editor/editor_settings.cpp
msgid "Docks"
-msgstr "Docks"
+msgstr "Painéis"
#: editor/editor_settings.cpp
msgid "Scene Tree"
@@ -5702,7 +5705,7 @@ msgstr "Ordenar Prévia de Membros Automaticamente"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Cursor"
-msgstr "Cursor"
+msgstr "Ponteiro"
#: editor/editor_settings.cpp
msgid "Scroll Past End Of File"
@@ -8485,7 +8488,7 @@ msgstr "Obtido:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed SHA-256 hash check"
-msgstr "Falha na verificação do hash SHA-256"
+msgstr "Falha na verificação da hash SHA-256"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Asset Download Error:"
@@ -8669,8 +8672,8 @@ msgid ""
"Some mesh is invalid. Make sure the UV2 channel values are contained within "
"the [0.0,1.0] square region."
msgstr ""
-"Alguma malha é inválida. Certifique-se de que os valores do canal UV2 estão "
-"contidos na região quadrada [0.0,1.0]."
+"Algum mesh é invalido. Tenha certeza que os valores do canal UV2 estão "
+"contidos dentro da região quadrática [0.0,1.0]."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -8811,8 +8814,8 @@ msgid ""
"Children of containers have their anchors and margins values overridden by "
"their parent."
msgstr ""
-"Filhos de contêineres têm suas posições e tamanhos sobrescritos pelos seus "
-"pais."
+"Filhos de contêineres têm seus valores de âncoras e margens substituídos "
+"pelos seus pais."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Presets for the anchors and margins values of a Control node."
@@ -11405,11 +11408,11 @@ msgstr "Orbitar Visão Para Baixo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Left"
-msgstr "Orbitar Visão para a Esquerda"
+msgstr "Orbitar Visão à Esquerda"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Right"
-msgstr "Orbitar Visão para a Direita"
+msgstr "Orbitar Visão à Direita"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Up"
@@ -11417,7 +11420,7 @@ msgstr "Orbitar Visão para Cima"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View 180"
-msgstr "Orbitar Visão em 180"
+msgstr "Orbitar Visão 180º"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Switch Perspective/Orthogonal View"
@@ -12322,7 +12325,7 @@ msgid ""
"Toggle the control picker, allowing to visually select control types for "
"edit."
msgstr ""
-"Acionar o selecionador de controles, permitindo selecionar visualmente os "
+"Acionar o selecionador de controles, permitindo visualmente selecionar os "
"tipos de controles para edição."
#: editor/plugins/theme_editor_preview.cpp
@@ -12529,6 +12532,7 @@ msgid "Clear Transform"
msgstr "Limpar Transformação"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
msgid "Tile Map"
msgstr "Tile Map"
@@ -12559,9 +12563,8 @@ msgstr "Pré-visualização do Preenchimento de Balde"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Editor Side"
-msgstr "Editor"
+msgstr "Lado do Editor"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Display Grid"
@@ -12915,9 +12918,10 @@ msgstr "Opções de Encaixe"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Deslocamento"
@@ -13003,9 +13007,8 @@ msgid "Selected Collision One Way"
msgstr "Colisão em sentido único selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision One Way Margin"
-msgstr "Modo Colisão"
+msgstr "Margem de colisão em sentido único selecionada"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Selected Navigation"
@@ -13147,9 +13150,8 @@ msgid "Branch Name"
msgstr "Nome do Ramo"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remotes"
-msgstr "Remoto"
+msgstr "Remotos"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Create New Remote"
@@ -13160,7 +13162,6 @@ msgid "Remove Remote"
msgstr "Remover remoto"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Name"
msgstr "Nome Remoto"
@@ -14330,16 +14331,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Caminho de projeto inválido (mudou alguma coisa?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Não foi possível carregar project.godot no caminho do projeto (erro %d). Ele "
"pode estar ausente ou corrompido."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Não foi possível editar project.godot no caminho do projeto."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Não é possível abrir o projeto em '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -15561,18 +15563,16 @@ msgid "Clear Inheritance? (No Undo!)"
msgstr "Limpar Herança? (Irreversível!)"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Show Scene Tree Root Selection"
-msgstr "Seleção Central"
+msgstr "Mostrar seleção da hierarquia de cenas"
#: editor/scene_tree_dock.cpp
msgid "Derive Script Globals By Name"
msgstr "Obter Globais de Script por Nome"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Use Favorites Root Selection"
-msgstr "Seleção de Frame"
+msgstr "Seleção de favoritos da raíz"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visible"
@@ -15874,7 +15874,7 @@ msgstr "Copiar Erro"
#: editor/script_editor_debugger.cpp
msgid "Open C++ Source on GitHub"
-msgstr "Abrir Código C++ no GitHub"
+msgstr "Abrir código C++ no GitHub"
#: editor/script_editor_debugger.cpp
msgid "Video RAM"
@@ -16158,12 +16158,10 @@ msgid "Set Occluder Sphere Position"
msgstr "Definir Posição Da Esfera Do Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
msgstr "Definir Posição do Ponto do Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
msgstr "Definir Posição do Ponto do Buraco Oclusor"
@@ -16172,9 +16170,8 @@ msgid "Occluder Polygon Front"
msgstr "Frente do Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Occluder Polygon Back"
-msgstr "Costas do Polígono Oclusor"
+msgstr "Traseira do Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
msgid "Occluder Hole"
@@ -16182,7 +16179,7 @@ msgstr "Buraco Oclusor"
#: main/main.cpp
msgid "Godot Physics"
-msgstr "Godot Physics"
+msgstr "Física Godot"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
@@ -16203,8 +16200,9 @@ msgid "Multithreaded Server"
msgstr "Servidor com Multi-Thread"
#: main/main.cpp
+#, fuzzy
msgid "RID Pool Prealloc"
-msgstr ""
+msgstr "Pre-alocação de Pool RID"
#: main/main.cpp
msgid "Debugger stdout"
@@ -16371,9 +16369,8 @@ msgid "Enable Warnings"
msgstr "Habilitar Avisos"
#: main/main.cpp
-#, fuzzy
msgid "Frame Delay Msec"
-msgstr "Seleção de Frame"
+msgstr "Atraso de quadro Mseg"
#: main/main.cpp
msgid "Low Processor Mode"
@@ -16531,14 +16528,12 @@ msgid "Auto Accept Quit"
msgstr "Aceitar Sair Automaticamente"
#: main/main.cpp scene/main/scene_tree.cpp
-#, fuzzy
msgid "Quit On Go Back"
-msgstr "Sair em Voltar"
+msgstr "Sair ao Voltar"
#: main/main.cpp scene/main/viewport.cpp
-#, fuzzy
msgid "Snap Controls To Pixels"
-msgstr "Encaixar nos Lados do Nó"
+msgstr "Encaixar Nós de Controle nos pixels"
#: main/main.cpp
msgid "Dynamic Fonts"
@@ -16660,9 +16655,8 @@ msgid "Path Node"
msgstr "Caminho do Nó"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Interval Type"
-msgstr "Criar Vertex Interno"
+msgstr "Tipo de Intervalo de Caminho"
#: modules/csg/csg_shape.cpp
msgid "Path Interval"
@@ -16677,14 +16671,13 @@ msgid "Path Rotation"
msgstr "Rotação do Caminho"
#: modules/csg/csg_shape.cpp
-#, fuzzy
msgid "Path Local"
-msgstr "Tornar Local"
+msgstr "Caminho Local"
#: modules/csg/csg_shape.cpp
#, fuzzy
msgid "Path Continuous U"
-msgstr "Contínuo"
+msgstr "Caminho Contínuo"
#: modules/csg/csg_shape.cpp
msgid "Path U Distance"
@@ -16917,9 +16910,8 @@ msgid "Export GLTF..."
msgstr "Exportar GLTF..."
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Buffer View"
-msgstr "Visão Traseira"
+msgstr "Visão de Buffer"
#: modules/gltf/gltf_accessor.cpp modules/gltf/gltf_buffer_view.cpp
msgid "Byte Offset"
@@ -16946,9 +16938,8 @@ msgid "Max"
msgstr "Max"
#: modules/gltf/gltf_accessor.cpp
-#, fuzzy
msgid "Sparse Count"
-msgstr "Instância"
+msgstr "Contagem Escassa"
#: modules/gltf/gltf_accessor.cpp
msgid "Sparse Indices Buffer View"
@@ -16971,14 +16962,12 @@ msgid "Sparse Values Byte Offset"
msgstr ""
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Buffer"
-msgstr "Visão Traseira"
+msgstr "Buffer"
#: modules/gltf/gltf_buffer_view.cpp
-#, fuzzy
msgid "Byte Length"
-msgstr "Tema Padrão"
+msgstr "Largura do byte"
#: modules/gltf/gltf_buffer_view.cpp
msgid "Byte Stride"
@@ -16994,12 +16983,11 @@ msgstr "Tamanho do FOV"
#: modules/gltf/gltf_camera.cpp
msgid "Zfar"
-msgstr ""
+msgstr "Z longe"
#: modules/gltf/gltf_camera.cpp
-#, fuzzy
msgid "Znear"
-msgstr "Linear"
+msgstr "Z perto"
#: modules/gltf/gltf_light.cpp scene/2d/canvas_modulate.cpp
#: scene/2d/cpu_particles_2d.cpp scene/2d/light_2d.cpp scene/2d/polygon_2d.cpp
@@ -17030,9 +17018,8 @@ msgid "Outer Cone Angle"
msgstr "Ângulo externo do cone"
#: modules/gltf/gltf_mesh.cpp
-#, fuzzy
msgid "Blend Weights"
-msgstr "Faça mapas de luz"
+msgstr "Peso da mesclagem"
#: modules/gltf/gltf_mesh.cpp
msgid "Instance Materials"
@@ -17043,13 +17030,12 @@ msgid "Parent"
msgstr "Pai"
#: modules/gltf/gltf_node.cpp
-#, fuzzy
msgid "Xform"
-msgstr "Plataforma"
+msgstr ""
#: modules/gltf/gltf_node.cpp scene/3d/mesh_instance.cpp
msgid "Skin"
-msgstr "Skin"
+msgstr ""
#: modules/gltf/gltf_node.cpp scene/3d/spatial.cpp
msgid "Translation"
@@ -17085,12 +17071,11 @@ msgstr "Pontos Originais"
#: modules/gltf/gltf_skin.cpp
msgid "Inverse Binds"
-msgstr ""
+msgstr "Designações invertidas"
#: modules/gltf/gltf_skin.cpp
-#, fuzzy
msgid "Non Joints"
-msgstr "Mover Junta"
+msgstr "Não-Juntas"
#: modules/gltf/gltf_skin.cpp
msgid "Joint I To Bone I"
@@ -17102,15 +17087,15 @@ msgstr "Junta I ao Nome"
#: modules/gltf/gltf_skin.cpp
msgid "Godot Skin"
-msgstr ""
+msgstr "Skin Godot"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Img"
-msgstr "Difusa Img"
+msgstr "Imagem Difusa"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Diffuse Factor"
-msgstr "Difusa Fator"
+msgstr "Fator de Difusão"
#: modules/gltf/gltf_spec_gloss.cpp
msgid "Gloss Factor"
@@ -17126,30 +17111,27 @@ msgstr ""
#: modules/gltf/gltf_state.cpp
msgid "Json"
-msgstr "Json"
+msgstr ""
#: modules/gltf/gltf_state.cpp
msgid "Major Version"
msgstr "Versão Importante"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Minor Version"
-msgstr "Versão"
+msgstr "Versão Minoritária"
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "GLB Data"
-msgstr "Com Dados"
+msgstr "Dados do GLB"
#: modules/gltf/gltf_state.cpp
msgid "Use Named Skin Binds"
msgstr ""
#: modules/gltf/gltf_state.cpp
-#, fuzzy
msgid "Buffer Views"
-msgstr "Visão Traseira"
+msgstr "Visão Buffer"
#: modules/gltf/gltf_state.cpp
msgid "Accessors"
@@ -17197,9 +17179,8 @@ msgid "Animations"
msgstr "Animações"
#: modules/gltf/gltf_texture.cpp
-#, fuzzy
msgid "Src Image"
-msgstr "Mostrar Ossos"
+msgstr "Imagem fonte"
#: modules/gridmap/grid_map.cpp
msgid "Mesh Library"
@@ -17210,18 +17191,16 @@ msgid "Physics Material"
msgstr "Material de Física"
#: modules/gridmap/grid_map.cpp scene/3d/visual_instance.cpp
-#, fuzzy
msgid "Use In Baked Light"
-msgstr "Faça mapas de luz"
+msgstr "Usar no mapa de luz"
#: modules/gridmap/grid_map.cpp scene/2d/tile_map.cpp
msgid "Cell"
msgstr "Célula"
#: modules/gridmap/grid_map.cpp
-#, fuzzy
msgid "Octant Size"
-msgstr "Visão Frontal"
+msgstr "Tamanho Octante"
#: modules/gridmap/grid_map.cpp
msgid "Center X"
@@ -17382,7 +17361,7 @@ msgstr "Atribua um recurso MeshLibrary a este GridMap para usar seus meshes."
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
msgid "Begin Bake"
-msgstr "Iniciar bake"
+msgstr "Iniciar Bake"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
msgid "Preparing data structures"
@@ -17394,7 +17373,7 @@ msgstr "Gerar buffers"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
msgid "Direct lighting"
-msgstr "Iluminação direta"
+msgstr "Iluminação Direta"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
msgid "Indirect lighting"
@@ -17406,7 +17385,7 @@ msgstr "Pós-processamento"
#: modules/lightmapper_cpu/lightmapper_cpu.cpp
msgid "Plotting lightmaps"
-msgstr "Traçando mapas de luz"
+msgstr "Planejando Luzes"
#: modules/lightmapper_cpu/register_types.cpp
msgid "CPU Lightmapper"
@@ -17448,9 +17427,8 @@ msgid "Display Width"
msgstr "Largura de Tela"
#: modules/mobile_vr/mobile_vr_interface.cpp
-#, fuzzy
msgid "Display To Lens"
-msgstr "Exibir Sem Sombreamento"
+msgstr "Exibir para as Lentes"
#: modules/mobile_vr/mobile_vr_interface.cpp
msgid "Oversample"
@@ -17477,9 +17455,8 @@ msgid "Auto Update Project"
msgstr "Atualizar Projeto Automaticamente"
#: modules/mono/godotsharp_dirs.cpp
-#, fuzzy
msgid "Assembly Name"
-msgstr "Nome de Exibição"
+msgstr "Nome de Montagem"
#: modules/mono/godotsharp_dirs.cpp
msgid "Solution Directory"
@@ -17569,9 +17546,8 @@ msgid "As Normal Map"
msgstr "Como Mapa Normal"
#: modules/opensimplex/noise_texture.cpp
-#, fuzzy
msgid "Bump Strength"
-msgstr "Força da colisão"
+msgstr "Força do Bump"
#: modules/opensimplex/noise_texture.cpp
msgid "Noise"
@@ -17611,7 +17587,7 @@ msgstr "Strings"
#: modules/upnp/upnp.cpp
msgid "Discover Multicast If"
-msgstr ""
+msgstr "Descobrir if Multicast"
#: modules/upnp/upnp.cpp
msgid "Discover Local Port"
@@ -17622,9 +17598,8 @@ msgid "Discover IPv6"
msgstr "Descobrir IPv6"
#: modules/upnp/upnp_device.cpp
-#, fuzzy
msgid "Description URL"
-msgstr "Descrição"
+msgstr "URL Descritiva"
#: modules/upnp/upnp_device.cpp
msgid "Service Type"
@@ -18014,9 +17989,8 @@ msgid "Return"
msgstr "Retornar"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Return Enabled"
-msgstr "Executável"
+msgstr "Retorno Ativado"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return Type"
@@ -18045,7 +18019,7 @@ msgstr "Iterador"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
-msgstr "para (elem) em (input):"
+msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable:"
@@ -18097,9 +18071,8 @@ msgid "On %s"
msgstr "Em %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "On Self"
-msgstr "Self"
+msgstr "Em sí mesmo"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
@@ -18142,23 +18115,20 @@ msgid "Divide %s"
msgstr "Dividir %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Mod %s"
-msgstr "Mod %s"
+msgstr "[code]Mod %s[/code]"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "ShiftLeft %s"
-msgstr "ShiftLeft %s"
+msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "ShiftRight %s"
msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "BitAnd %s"
-msgstr "BitAnd %s"
+msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitOr %s"
@@ -18169,12 +18139,10 @@ msgid "BitXor %s"
msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Set Mode"
-msgstr "Modo de Seleção"
+msgstr "Modo de Definição"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Assign Op"
msgstr "Atribuir Op"
@@ -18282,9 +18250,8 @@ msgid "Get Self"
msgstr "Obter Sí Mesmo"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "CustomNode"
-msgstr "CustomNode"
+msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
@@ -18301,9 +18268,8 @@ msgstr ""
"string (erro)."
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "SubCall"
-msgstr "SubCall"
+msgstr ""
#: modules/visual_script/visual_script_nodes.cpp scene/gui/graph_node.cpp
msgid "Title"
@@ -18335,11 +18301,11 @@ msgstr "Buscar VisualScript"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Yield"
-msgstr "Yield"
+msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
-msgstr "Esperar"
+msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Next Frame"
@@ -18358,33 +18324,28 @@ msgid "Wait Time"
msgstr "Tempo de Espera"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitSignal"
-msgstr "WaitSignal"
+msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitNodeSignal"
-msgstr "WaitNodeSignal"
+msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitInstanceSignal"
-msgstr "WaitInstanceSignal"
+msgstr ""
#: modules/webrtc/webrtc_data_channel.cpp
-#, fuzzy
msgid "Write Mode"
-msgstr "Modo Prioridade"
+msgstr "Modo de Escrita"
#: modules/webrtc/webrtc_data_channel.h
msgid "WebRTC"
-msgstr "WebRTC"
+msgstr ""
#: modules/webrtc/webrtc_data_channel.h
-#, fuzzy
msgid "Max Channel In Buffer (KB)"
-msgstr "Tamanho do buffer do índice do polígono da tela (KB)"
+msgstr "Canal Máximo no Buffer (KB)"
#: modules/websocket/websocket_client.cpp
msgid "Verify SSL"
@@ -18439,9 +18400,8 @@ msgid "Handshake Timeout"
msgstr "Tempo de Handshake Esgotado"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Session Mode"
-msgstr "Modo Região"
+msgstr "Modo Sessão"
#: modules/webxr/webxr_interface.cpp
msgid "Required Features"
@@ -18452,12 +18412,10 @@ msgid "Optional Features"
msgstr "Funcionalidades Opcionais"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Requested Reference Space Types"
msgstr "Tipos de Espaço de Referência Solicitados"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Reference Space Type"
msgstr "Tipo de Espaço de Referência"
@@ -18466,23 +18424,20 @@ msgid "Visibility State"
msgstr "Estado de Visibilidade"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "Bounds Geometry"
-msgstr "Tentar Novamente"
+msgstr "Limita a Geometria"
#: modules/webxr/webxr_interface.cpp
-#, fuzzy
msgid "XR Standard Mapping"
-msgstr "Encaixe inteligente"
+msgstr "Mapeamento XR Padrão"
#: platform/android/export/export.cpp
msgid "Android SDK Path"
msgstr "Caminho para SDK Android"
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Debug Keystore"
-msgstr "Depurador"
+msgstr "Depurar Keystore"
#: platform/android/export/export.cpp
msgid "Debug Keystore User"
@@ -18493,7 +18448,6 @@ msgid "Debug Keystore Pass"
msgstr ""
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Force System User"
msgstr "Forçar Usuário do Sistema"
@@ -18545,14 +18499,12 @@ msgid "The package must have at least one '.' separator."
msgstr "O pacote deve ter pelo menos um separador '.'."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Custom Build"
-msgstr "Usar Diretório de Usuário Personalizado"
+msgstr "Build Personalizada"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Use Custom Build"
-msgstr "Usar Diretório de Usuário Personalizado"
+msgstr "Usar Build Personalizada"
#: platform/android/export/export_plugin.cpp
msgid "Export Format"
@@ -18571,29 +18523,24 @@ msgid "Architectures"
msgstr "Arquiteturas"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Keystore"
-msgstr "Depurador"
+msgstr "Keystore"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Debug User"
-msgstr "Depurador"
+msgstr "Depurar Usuário"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Debug Password"
-msgstr "Senha"
+msgstr "Depurar Senha"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release User"
-msgstr "Lançamento"
+msgstr "Liberar Usuário"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Release Password"
-msgstr "Senha"
+msgstr "Liberar Senha"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
@@ -18636,9 +18583,8 @@ msgid "Graphics"
msgstr "Gráficos"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "OpenGL Debug"
-msgstr "Abrir"
+msgstr "Depurar OpenGL"
#: platform/android/export/export_plugin.cpp
msgid "XR Features"
@@ -18651,7 +18597,7 @@ msgstr "Modo XR"
#: platform/android/export/export_plugin.cpp
#, fuzzy
msgid "Hand Tracking"
-msgstr "Empacotando"
+msgstr "Detecção de Mãos"
#: platform/android/export/export_plugin.cpp
msgid "Hand Tracking Frequency"
@@ -18666,24 +18612,20 @@ msgid "Immersive Mode"
msgstr "Modo Imersivo"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Small"
-msgstr "Suporte"
+msgstr "Suporte Pequeno"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Normal"
-msgstr "Suporte"
+msgstr "Suporte Normal"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Large"
-msgstr "Suporte"
+msgstr "Suporte Grande"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Support Xlarge"
-msgstr "Suporte"
+msgstr "Suporte Extra-grande"
#: platform/android/export/export_plugin.cpp
msgid "User Data Backup"
@@ -18702,9 +18644,8 @@ msgid "Extra Args"
msgstr "Argumentos Extra"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "APK Expansion"
-msgstr "Expressão"
+msgstr "Expansão APK"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
@@ -18796,7 +18737,7 @@ msgstr "Um caminho Android SDK é necessário nas Configurações do Editor."
#: platform/android/export/export_plugin.cpp
msgid "Invalid Android SDK path in Editor Settings."
-msgstr "Caminho do Android SDK está inválido nas Configurações do Editor."
+msgstr "Caminho do Android SDK inválido nas Configurações do Editor."
#: platform/android/export/export_plugin.cpp
msgid "Missing 'platform-tools' directory!"
@@ -18815,7 +18756,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Missing 'build-tools' directory!"
-msgstr "Diretório 'build-tools' está faltando!"
+msgstr "Diretório 'build-tools' ausente!"
#: platform/android/export/export_plugin.cpp
msgid "Unable to find Android SDK build-tools' apksigner command."
@@ -18852,18 +18793,16 @@ msgstr ""
"utilizar plugins."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Hand Tracking\" is only valid when \"XR Mode\" is \"Oculus Mobile VrApi\" "
"or \"OpenXR\"."
msgstr ""
-"\"Hand Tracking\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"."
+"\"Hand Tracking\" só é válido quando o \"XR Mode\" é \"Oculus Mobile VrApi\" "
+"ou \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
-msgstr ""
-"\"Passthrough\" só é válido quando o \"Xr Mode\" é \"Oculus Mobile VR\"."
+msgstr "\"Passthrough\" só é válido quando o \"XR Mode\" é \"OpenXR\"."
#: platform/android/export/export_plugin.cpp
msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
@@ -18872,12 +18811,11 @@ msgstr ""
"habilitado."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Min SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"\"Exportar AAB\" só é válido quando \"Usar Compilação Customizada\" está "
-"habilitado."
+"\"Min SDK\" só pode ser substituído quando \"Usar Compilação Customizada\" "
+"está habilitado."
#: platform/android/export/export_plugin.cpp
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
@@ -18894,12 +18832,11 @@ msgstr ""
"biblioteca Godot."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid ""
"\"Target SDK\" can only be overridden when \"Use Custom Build\" is enabled."
msgstr ""
-"\"Exportar AAB\" só é válido quando \"Usar Compilação Customizada\" está "
-"habilitado."
+"\"Target SDK\" só pode ser substituído quando \"Usar Compilação "
+"Customizada\" está habilitado."
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -18917,11 +18854,10 @@ msgstr ""
"não foi testado e pode ser instável."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr ""
-"Versão do \"Target Sdk\" precisa ser igual ou maior que a versão do \"Min "
-"Sdk\"."
+"Versão do \"Target SDK\" precisa ser igual ou maior que a versão do \"Min "
+"SDK\"."
#: platform/android/export/export_plugin.cpp platform/osx/export/export.cpp
#: platform/windows/export/export.cpp
@@ -18971,11 +18907,12 @@ msgstr "Exportando para Android"
#: platform/android/export/export_plugin.cpp
msgid "Invalid filename! Android App Bundle requires the *.aab extension."
-msgstr "Nome de arquivo inválido! Android App Bundle requer a extensão *.aab."
+msgstr ""
+"Nome de arquivo inválido! O Android App Bundle requer a extensão *.aab."
#: platform/android/export/export_plugin.cpp
msgid "APK Expansion not compatible with Android App Bundle."
-msgstr "A expansão APK não é compatível com o Android App Bundle."
+msgstr "Expansão do APK não é compatível com Android App Bundle."
#: platform/android/export/export_plugin.cpp
msgid "Invalid filename! Android APK requires the *.apk extension."
@@ -19091,7 +19028,6 @@ msgid "The character '%s' is not allowed in Identifier."
msgstr "O caractere '%s' não é permitido no identificador."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Landscape Launch Screens"
msgstr "Telas de Inicialização de Paisagem"
@@ -19101,15 +19037,15 @@ msgstr "IPhone 2436 X 1125"
#: platform/iphone/export/export.cpp
msgid "iPhone 2208 X 1242"
-msgstr "iPhone 2208 X 1242"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 1024 X 768"
-msgstr "iPad 1024 X 768"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 2048 X 1536"
-msgstr "iPad 2048 X 1536"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "Portrait Launch Screens"
@@ -19117,31 +19053,31 @@ msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 960"
-msgstr "iPhone 640 X 960"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 640 X 1136"
-msgstr "iPhone 640 X 1136"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 750 X 1334"
-msgstr "iPhone 750 X 1334"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 1125 X 2436"
-msgstr "iPhone 1125 X 2436"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 768 X 1024"
-msgstr "iPad 768 X 1024"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 1536 X 2048"
-msgstr "iPad 1536 X 2048"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 1242 X 2208"
-msgstr "iPhone 1242 X 2208"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "App Store Team ID"
@@ -19240,23 +19176,23 @@ msgstr "Descrições da Propriedade"
#: platform/iphone/export/export.cpp
msgid "iPhone 120 X 120"
-msgstr "iPhone 120 X 120"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPhone 180 X 180"
-msgstr "iPhone 180 X 180"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 76 X 76"
-msgstr "iPad 76 X 76"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 152 X 152"
-msgstr "iPad 152 X 152"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "iPad 167 X 167"
-msgstr "iPad 167 X 167"
+msgstr ""
#: platform/iphone/export/export.cpp
msgid "App Store 1024 X 1024"
@@ -19367,9 +19303,8 @@ msgid "Export Type"
msgstr "Tipo de Exportação"
#: platform/javascript/export/export.cpp
-#, fuzzy
msgid "VRAM Texture Compression"
-msgstr "Expressão"
+msgstr "Compressão de Texturas na VRAM"
#: platform/javascript/export/export.cpp
msgid "For Desktop"
@@ -19410,7 +19345,7 @@ msgstr "Teclado Virtual Experimental"
#: platform/javascript/export/export.cpp
msgid "Progressive Web App"
-msgstr "Progressive Web App"
+msgstr "Aplicativo Web Progressivo"
#: platform/javascript/export/export.cpp
msgid "Offline Page"
@@ -19521,9 +19456,8 @@ msgid "Invalid executable file."
msgstr "Arquivo executável inválido."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Can't resize signature load command."
-msgstr "Não é possível redimensionar o comando de carregamento da assinatura."
+msgstr "Não é possível redimensionar o comando de carregamento de assinatura."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
@@ -20203,7 +20137,6 @@ msgid "Failed to rename temporary file \"%s\"."
msgstr "Falha ao renomear arquivo temporário \"%s\"."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Identity Type"
msgstr "Tipo de Identidade"
@@ -20337,9 +20270,8 @@ msgid "Executable file header corrupted."
msgstr ""
#: platform/windows/export/export.cpp platform/x11/export/export.cpp
-#, fuzzy
msgid "Executable \"pck\" section not found."
-msgstr "Executável seção \"pck\" não encontrado."
+msgstr "Seção executável \"pck\" não encontrada."
#: platform/windows/export/export.cpp
msgid "Windows"
@@ -20347,7 +20279,7 @@ msgstr "Windows"
#: platform/windows/export/export.cpp
msgid "Rcedit"
-msgstr "Rcedit"
+msgstr ""
#: platform/windows/export/export.cpp
msgid "Osslsigncode"
@@ -20355,7 +20287,7 @@ msgstr ""
#: platform/windows/export/export.cpp
msgid "Wine"
-msgstr "Wine"
+msgstr "Vinho"
#: platform/x11/export/export.cpp
msgid "32-bit executables cannot have embedded data >= 4 GiB."
@@ -20636,9 +20568,8 @@ msgid "Visible"
msgstr "Visível"
#: scene/2d/canvas_item.cpp
-#, fuzzy
msgid "Self Modulate"
-msgstr "Popular"
+msgstr "Auto Modular"
#: scene/2d/canvas_item.cpp
msgid "Show Behind Parent"
@@ -21088,9 +21019,8 @@ msgstr ""
"Uma textura com a forma da luz deve ser fornecida na propriedade \"textura\"."
#: scene/2d/light_2d.cpp scene/3d/light.cpp scene/gui/reference_rect.cpp
-#, fuzzy
msgid "Editor Only"
-msgstr "Editor"
+msgstr "Somente Editor"
#: scene/2d/light_2d.cpp
msgid "Texture Scale"
@@ -21579,9 +21509,8 @@ msgid "Sync To Physics"
msgstr "Sincronizar com a Física"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
-#, fuzzy
msgid "Moving Platform"
-msgstr "Movendo saída"
+msgstr "Plataforma Móvel"
#: scene/2d/physics_body_2d.cpp scene/3d/physics_body.cpp
msgid "Apply Velocity On Leave"
@@ -21980,7 +21909,7 @@ msgstr "Gerando captura"
#: scene/3d/baked_lightmap.cpp
msgid "Saving lightmaps"
-msgstr "Salvando mapas de luz"
+msgstr "Salvando lightmaps"
#: scene/3d/baked_lightmap.cpp
msgid "Done"
@@ -22416,9 +22345,8 @@ msgid "Bias Split Scale"
msgstr "Usar Encaixe Escalar"
#: scene/3d/light.cpp
-#, fuzzy
msgid "Depth Range"
-msgstr "Profundidade"
+msgstr "Alcance de Profundidade"
#: scene/3d/light.cpp
msgid "Omni"
@@ -22604,19 +22532,16 @@ msgid "Angular Z"
msgstr "Z Angular"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion X"
-msgstr "Ação"
+msgstr "Movimento X"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Y"
-msgstr "Ação"
+msgstr "Movimento Y"
#: scene/3d/physics_body.cpp
-#, fuzzy
msgid "Motion Z"
-msgstr "Ação"
+msgstr "Movimento Z"
#: scene/3d/physics_body.cpp
#, fuzzy
@@ -23187,9 +23112,8 @@ msgid "Overlap Warning Threshold"
msgstr ""
#: scene/3d/room_manager.cpp
-#, fuzzy
msgid "Preview Camera"
-msgstr "Visualização"
+msgstr "Visualizar Câmera"
#: scene/3d/room_manager.cpp
msgid "Portal Depth Limit"
@@ -23441,6 +23365,16 @@ msgstr "Erro"
msgid "AABB"
msgstr "AABB"
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Ordenar"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "Utilizar Ambient"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "Geometria"
@@ -23895,7 +23829,7 @@ msgid ""
"children placement behavior.\n"
"If you don't intend to add a script, use a plain Control node instead."
msgstr ""
-"O contêiner por si só não possui propósito algum, a menos que um script "
+"O contêiner por si só não tem nenhum propósito, a menos que um script "
"configure seu comportamento de posicionamento dos filhos.\n"
"Se você não pretende adicionar um script, use um nó de Controle simples."
@@ -24071,7 +24005,7 @@ msgstr "Mini-Mapa"
#: scene/gui/graph_edit.cpp
msgid "Enable grid minimap."
-msgstr "Ativar minimap em grade."
+msgstr "Ativar o minimapa de grade."
#: scene/gui/graph_node.cpp
#, fuzzy
@@ -24407,7 +24341,7 @@ msgstr "Caractere"
#: scene/gui/rich_text_label.cpp
msgid "BBCode"
-msgstr "BBCode"
+msgstr ""
#: scene/gui/rich_text_label.cpp
msgid "Meta Underlined"
@@ -25345,9 +25279,8 @@ msgid "Minimum Spaces"
msgstr "Cena Principal"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "BG"
-msgstr "Plano de Fundo"
+msgstr ""
#: scene/resources/default_theme/default_theme.cpp
msgid "FG"
@@ -25726,9 +25659,8 @@ msgid "Tab FG"
msgstr "Guia 1"
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Tab BG"
-msgstr "Plano de Fundo da Aba"
+msgstr "BG da Aba"
#: scene/resources/default_theme/default_theme.cpp
#, fuzzy
@@ -26184,7 +26116,7 @@ msgstr "Depuração do Canal UV"
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr "Blur"
+msgstr ""
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
@@ -26869,7 +26801,7 @@ msgstr "Tamanho da Radiância"
#: scene/resources/sky.cpp
msgid "Panorama"
-msgstr "Panorama"
+msgstr ""
#: scene/resources/sky.cpp
#, fuzzy
@@ -26937,7 +26869,7 @@ msgstr ""
#: scene/resources/style_box.cpp
msgid "Anti Aliasing"
-msgstr "Anti Aliasing"
+msgstr "Anti Serrilhamento"
#: scene/resources/style_box.cpp
msgid "Grow Begin"
@@ -27162,7 +27094,7 @@ msgstr "Margem de Ligação da Borda"
#: scene/resources/world_2d.cpp
msgid "Canvas"
-msgstr "Canvas"
+msgstr "Tela"
#: servers/arvr/arvr_interface.cpp
msgid "Is Primary"
@@ -27244,7 +27176,7 @@ msgstr "Nível dB"
#: servers/audio/effects/audio_effect_delay.cpp
#: servers/audio/effects/audio_effect_panner.cpp
msgid "Pan"
-msgstr "Panoramizar"
+msgstr ""
#: servers/audio/effects/audio_effect_compressor.cpp
#: servers/audio/effects/audio_effect_filter.cpp
@@ -27298,7 +27230,7 @@ msgstr ""
#: servers/audio/effects/audio_effect_distortion.cpp
msgid "Drive"
-msgstr "Drive"
+msgstr ""
#: servers/audio/effects/audio_effect_distortion.cpp
#, fuzzy
@@ -27349,7 +27281,7 @@ msgstr "Pré Atraso"
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Msec"
-msgstr "Msec"
+msgstr ""
#: servers/audio/effects/audio_effect_reverb.cpp
msgid "Room Size"
@@ -27607,9 +27539,8 @@ msgid "Lossless Compression"
msgstr "Compressão Sem Perda"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Force PNG"
-msgstr "Forçar Push"
+msgstr "Forçar PNG"
#: servers/visual_server.cpp
msgid "WebP Compression Level"
@@ -27731,9 +27662,8 @@ msgid "Ninepatch Mode"
msgstr "Modo de Interpolação"
#: servers/visual_server.cpp
-#, fuzzy
msgid "OpenGL"
-msgstr "Abrir"
+msgstr "abrir"
#: servers/visual_server.cpp
msgid "Batching Send Null"
@@ -27795,7 +27725,7 @@ msgstr ""
#: servers/visual_server.cpp
msgid "Flash Batching"
-msgstr ""
+msgstr "Loteamento de Flashes"
#: servers/visual_server.cpp
#, fuzzy
@@ -27812,7 +27742,7 @@ msgstr "Compatibilidade"
#: servers/visual_server.cpp
msgid "Disable Half Float"
-msgstr ""
+msgstr "Desativar Meia Float"
#: servers/visual_server.cpp
#, fuzzy
@@ -27839,7 +27769,7 @@ msgstr "Usar Encaixe Escalar"
#: servers/visual_server.cpp
msgid "PVS Logging"
-msgstr ""
+msgstr "Registro PVS"
#: servers/visual_server.cpp
#, fuzzy
@@ -27866,9 +27796,8 @@ msgid "Max Active Spheres"
msgstr "Máximo de Esferas Ativas"
#: servers/visual_server.cpp
-#, fuzzy
msgid "Max Active Polygons"
-msgstr "Mover Polígono"
+msgstr "Máximo de Polígonos Ativos"
#: servers/visual_server.cpp
#, fuzzy
@@ -27880,8 +27809,9 @@ msgid "Max Simultaneous Compiles"
msgstr "Compilações Simultâneas Máximas"
#: servers/visual_server.cpp
+#, fuzzy
msgid "Log Active Async Compiles Count"
-msgstr ""
+msgstr "Registro do Número de Compilações Assíncronas Ativas"
#: servers/visual_server.cpp
msgid "Shader Cache Size (MB)"
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index e01815b513..906d6aee71 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -19,13 +19,14 @@
# N3mEee <n3mebusiness@gmail.com>, 2021.
# Psynt <nichita@cadvegra.com>, 2022.
# Ilie Adrian Avramescu <himark1977@protonmail.com>, 2022.
+# Andres Ene <grassiscomplex420@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: Ilie Adrian Avramescu <himark1977@protonmail.com>\n"
+"PO-Revision-Date: 2022-11-22 20:37+0000\n"
+"Last-Translator: Andres Ene <grassiscomplex420@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ro/>\n"
"Language: ro\n"
@@ -34,7 +35,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -200,9 +201,8 @@ msgid "Limits"
msgstr "Limite"
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "Trage: Rotire"
+msgstr "Lista de comenzi"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
@@ -313,9 +313,8 @@ msgid "Blocking Handshake"
msgstr "Blocare Handshake"
#: core/io/udp_server.cpp
-#, fuzzy
msgid "Max Pending Connections"
-msgstr "Modifică Conexiunea:"
+msgstr "Număr maxim de conexiuni în așteptare"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -544,9 +543,8 @@ msgid "Instrument"
msgstr ""
#: core/os/input_event.cpp
-#, fuzzy
msgid "Controller Number"
-msgstr "Linia Numărul:"
+msgstr "Numărul controlerului"
#: core/os/input_event.cpp
msgid "Controller Value"
@@ -680,9 +678,8 @@ msgid "Main Run Args"
msgstr "Argumente principale ale rulării"
#: core/project_settings.cpp
-#, fuzzy
msgid "Scene Naming"
-msgstr "Calea Scenei:"
+msgstr "Denumirea scenei"
#: core/project_settings.cpp
msgid "Search In File Extensions"
@@ -818,9 +815,8 @@ msgstr "Calitate"
#: core/project_settings.cpp scene/gui/file_dialog.cpp
#: scene/main/scene_tree.cpp scene/resources/navigation_mesh.cpp
#: servers/visual_server.cpp
-#, fuzzy
msgid "Filters"
-msgstr "Filtre:"
+msgstr "Filtre"
#: core/project_settings.cpp scene/main/viewport.cpp
msgid "Sharpen Intensity"
@@ -840,9 +836,8 @@ msgstr "Depanare"
#: core/project_settings.cpp main/main.cpp modules/gdscript/gdscript.cpp
#: modules/visual_script/visual_script.cpp scene/resources/dynamic_font.cpp
-#, fuzzy
msgid "Settings"
-msgstr "Setări:"
+msgstr "Setări"
#: core/project_settings.cpp editor/script_editor_debugger.cpp main/main.cpp
#: modules/mono/mono_gd/gd_mono.cpp
@@ -1074,9 +1069,8 @@ msgstr ""
#: scene/animation/animation_blend_tree.cpp scene/gui/control.cpp
#: scene/main/canvas_layer.cpp scene/resources/environment.cpp
#: scene/resources/material.cpp scene/resources/particles_material.cpp
-#, fuzzy
msgid "Scale"
-msgstr "Dimensiune:"
+msgstr "Scară"
#: drivers/gles3/rasterizer_scene_gles3.cpp
#, fuzzy
@@ -1184,16 +1178,14 @@ msgstr "Timp"
#: editor/animation_track_editor.cpp editor/import/resource_importer_scene.cpp
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Location"
-msgstr "Pas Rotație:"
+msgstr "Locație"
#: editor/animation_track_editor.cpp modules/gltf/gltf_node.cpp
#: scene/2d/polygon_2d.cpp scene/2d/remote_transform_2d.cpp
#: scene/3d/remote_transform.cpp scene/3d/spatial.cpp scene/gui/control.cpp
-#, fuzzy
msgid "Rotation"
-msgstr "Pas Rotație:"
+msgstr "Rotație"
#: editor/animation_track_editor.cpp editor/script_editor_debugger.cpp
#: modules/visual_script/visual_script_nodes.cpp scene/gui/range.cpp
@@ -1235,14 +1227,12 @@ msgid "Stream"
msgstr ""
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Start Offset"
-msgstr "Compensare Grilă:"
+msgstr "Decalaj de pornire"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "End Offset"
-msgstr "Compensare Grilă:"
+msgstr "Decalaj de sfarsire"
#: editor/animation_track_editor.cpp editor/editor_settings.cpp
#: editor/import/resource_importer_scene.cpp
@@ -1366,14 +1356,12 @@ msgid "Remove this track."
msgstr "Ștergeți pista selectată."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Time (s):"
-msgstr "Timp (s): "
+msgstr "Timp (s):"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Position:"
-msgstr "Poziție"
+msgstr "Poziție:"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1414,9 +1402,8 @@ msgid "Out-Handle:"
msgstr "Setează Mâner"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Stream:"
-msgstr "Închidere curbă"
+msgstr "Curent:"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -1646,9 +1633,8 @@ msgid "Add Method Track Key"
msgstr "Inserați Pistă și Cheie"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Method not found in object:"
-msgstr "Metoda nu a fost găsită în obiect: "
+msgstr "Metoda nu a fost găsită în obiect:"
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
@@ -2621,9 +2607,8 @@ msgid "There is no '%s' file."
msgstr "Nu este niciun '%s' în filă."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Layout:"
-msgstr "Schemă"
+msgstr "Dispunere:"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -2876,9 +2861,8 @@ msgid "Failed to export project files."
msgstr "Nu s-a putut porni subprocesul!"
#: editor/editor_export.cpp
-#, fuzzy
msgid "Can't open file to read from path \"%s\"."
-msgstr "Nu pot deschide fiÅŸierul pentru scris:"
+msgstr "Nu se poate deschide fiÅŸierul pentru a citi din \"%s\":"
#: editor/editor_export.cpp
#, fuzzy
@@ -3019,9 +3003,8 @@ msgid "The given export path doesn't exist."
msgstr "Fișierul nu există."
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-#, fuzzy
msgid "Template file not found: \"%s\"."
-msgstr "Fișierul șablon nu a fost găsit:"
+msgstr "Fișierul șablonului nu a fost găsit: \"%s\"."
#: editor/editor_export.cpp
#, fuzzy
@@ -3325,9 +3308,8 @@ msgid "Access"
msgstr "Succes!"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
-#, fuzzy
msgid "Display Mode"
-msgstr "Mod redare:"
+msgstr "Modul de afișare"
#: editor/editor_file_dialog.cpp
#: editor/import/resource_importer_layered_texture.cpp
@@ -3347,17 +3329,15 @@ msgstr "Mod ÃŽn Jur"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
msgid "Current Dir"
-msgstr "Curent:"
+msgstr "Dir curent"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current File"
-msgstr "Profil Curent:"
+msgstr "Fișier curent"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Current Path"
-msgstr "Curent:"
+msgstr "Calea curentă"
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp
#: scene/gui/file_dialog.cpp
@@ -4930,9 +4910,8 @@ msgid "Install from file"
msgstr "Instalează Din Fișier"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Select android sources file"
-msgstr "Selectează un Mesh Sursă:"
+msgstr "Selectează fisierele sursa android"
#: editor/editor_node.cpp
msgid ""
@@ -5080,9 +5059,8 @@ msgstr "Actualizare"
#: editor/editor_plugin_settings.cpp platform/android/export/export_plugin.cpp
#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Version"
-msgstr "Versiune:"
+msgstr "Versiune"
#: editor/editor_plugin_settings.cpp
#, fuzzy
@@ -5280,9 +5258,8 @@ msgstr ""
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Base Type"
-msgstr "Modificare tip bază:"
+msgstr "Tip de bază"
#: editor/editor_resource_picker.cpp
#, fuzzy
@@ -5379,9 +5356,8 @@ msgid "Font Hinting"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Main Font"
-msgstr "Caracteristici active:"
+msgstr "Font principal"
#: editor/editor_settings.cpp
msgid "Main Font Bold"
@@ -5642,9 +5618,8 @@ msgid "Appearance"
msgstr ""
#: editor/editor_settings.cpp scene/gui/text_edit.cpp
-#, fuzzy
msgid "Show Line Numbers"
-msgstr "Linia Numărul:"
+msgstr "Afiseaza numerele liniei"
#: editor/editor_settings.cpp
#, fuzzy
@@ -5694,9 +5669,8 @@ msgid "Show Members Overview"
msgstr ""
#: editor/editor_settings.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Files"
-msgstr "Fișier:"
+msgstr "Fișiere"
#: editor/editor_settings.cpp
msgid "Trim Trailing Whitespace On Save"
@@ -5867,14 +5841,12 @@ msgid "Shape"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Primary Grid Steps"
-msgstr "Pas Grilă:"
+msgstr "Pași de grilă primară"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Grid Size"
-msgstr "Pas Grilă:"
+msgstr "Dimensiunea grilei"
#: editor/editor_settings.cpp
msgid "Grid Division Level Max"
@@ -6045,9 +6017,8 @@ msgid "Bone Color 2"
msgstr "Redenumiţi Autoload"
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Selected Color"
-msgstr "Configură Profilul Selectat:"
+msgstr "Culoarea osului selectat"
#: editor/editor_settings.cpp
msgid "Bone IK Color"
@@ -6058,9 +6029,8 @@ msgid "Bone Outline Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Bone Outline Size"
-msgstr "Dimensiunea Conturului:"
+msgstr "Dimensiunea conturului osului"
#: editor/editor_settings.cpp
msgid "Viewport Border Color"
@@ -6198,9 +6168,8 @@ msgstr ""
#. TRANSLATORS: Project Manager here refers to the tool used to create/manage Godot projects.
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Sorting Order"
-msgstr "Redenumind directorul:"
+msgstr "Ordinea de sortare"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Symbol Color"
@@ -6215,9 +6184,8 @@ msgid "Control Flow Keyword Color"
msgstr ""
#: editor/editor_settings.cpp
-#, fuzzy
msgid "Base Type Color"
-msgstr "Modificare tip bază:"
+msgstr "Culoare tip de bază"
#: editor/editor_settings.cpp
msgid "Engine Type Color"
@@ -6270,14 +6238,12 @@ msgid "Text Color"
msgstr ""
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Line Number Color"
-msgstr "Linia Numărul:"
+msgstr "Culoare numărul liniei"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Safe Line Number Color"
-msgstr "Linia Numărul:"
+msgstr "Culoarea numărului liniei sigură"
#: editor/editor_settings.cpp scene/resources/default_theme/default_theme.cpp
msgid "Caret Color"
@@ -6429,17 +6395,15 @@ msgstr "Se conectează la Oglinda..."
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Can't resolve the requested address."
-msgstr "Nu se poate rezolva numele gazdei:"
+msgstr "Nu se poate rezolva adresa solicitată."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Can't connect to the mirror."
-msgstr "Nu se poate conecta la gazda:"
+msgstr "Nu se poate conecta la oglindă."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "No response from the mirror."
-msgstr "Nciun răspuns de la gazda:"
+msgstr "Niciun răspuns de la oglinda."
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -6453,9 +6417,8 @@ msgid "Request ended up in a redirect loop."
msgstr "Cerere eșuată, prea multe redirecționări"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Request failed:"
-msgstr "Cerere Eșuată."
+msgstr "Cerere Eșuată:"
#: editor/export_template_manager.cpp
msgid "Download complete; extracting templates..."
@@ -6604,9 +6567,8 @@ msgid "Uninstall templates for the current version."
msgstr ""
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Download from:"
-msgstr "Eroare Descărcare"
+msgstr "Descărcați din:"
#: editor/export_template_manager.cpp
#, fuzzy
@@ -7098,9 +7060,8 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp scene/2d/light_2d.cpp
#: scene/gui/control.cpp
-#, fuzzy
msgid "Filter"
-msgstr "Filtre:"
+msgstr "Filtru:"
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
@@ -7139,9 +7100,8 @@ msgid "Vertical"
msgstr "Mută ghidul vertical"
#: editor/import/resource_importer_obj.cpp
-#, fuzzy
msgid "Generate Tangents"
-msgstr "Număr de Puncte Generate:"
+msgstr "Generează tangente"
#: editor/import/resource_importer_obj.cpp
#, fuzzy
@@ -7217,12 +7177,11 @@ msgstr "Tip Membru"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Root Name"
-msgstr "Nume Nod:"
+msgstr "Nume rădăcină"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Root Scale"
-msgstr "Dimensiune:"
+msgstr "Dimensiune Radacina"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7230,9 +7189,8 @@ msgid "Custom Script"
msgstr "Creează Nod"
#: editor/import/resource_importer_scene.cpp scene/resources/texture.cpp
-#, fuzzy
msgid "Storage"
-msgstr "Fişierul se Stochează:"
+msgstr "Stochare"
#: editor/import/resource_importer_scene.cpp
msgid "Use Legacy Names"
@@ -7318,9 +7276,8 @@ msgid "Enabled"
msgstr "Activați"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Linear Error"
-msgstr "Eroare Lineară Max:"
+msgstr "Eroare liniară maximă"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7328,9 +7285,8 @@ msgid "Max Angular Error"
msgstr "Eroare Angulară Max:"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Max Angle"
-msgstr "Valoare:"
+msgstr "Unghiul maxim"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
@@ -7338,16 +7294,14 @@ msgid "Remove Unused Tracks"
msgstr "Elimină Pista Anim"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Clips"
-msgstr "Secvențe Anim:"
+msgstr "Clipuri"
#: editor/import/resource_importer_scene.cpp scene/2d/cpu_particles_2d.cpp
#: scene/2d/particles_2d.cpp scene/3d/area.cpp scene/3d/cpu_particles.cpp
#: scene/3d/particles.cpp scene/resources/environment.cpp
-#, fuzzy
msgid "Amount"
-msgstr "Cantitate:"
+msgstr "Cantitate"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
@@ -7455,9 +7409,8 @@ msgid "Invert Color"
msgstr "Culori de Emisie"
#: editor/import/resource_importer_texture.cpp
-#, fuzzy
msgid "Normal Map Invert Y"
-msgstr "Dimensiune Aleatorie:"
+msgstr "Hartă normală inversează Y"
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7479,9 +7432,8 @@ msgid ""
msgstr ""
#: editor/import/resource_importer_texture_atlas.cpp
-#, fuzzy
msgid "Atlas File"
-msgstr "Dimensiunea Conturului:"
+msgstr "Fișierul Atlasului"
#: editor/import/resource_importer_texture_atlas.cpp
#, fuzzy
@@ -7498,9 +7450,8 @@ msgid "Trim Alpha Border From Region"
msgstr ""
#: editor/import/resource_importer_wav.cpp scene/2d/physics_body_2d.cpp
-#, fuzzy
msgid "Force"
-msgstr "Mesh Sursă:"
+msgstr "Forță"
#: editor/import/resource_importer_wav.cpp
msgid "8 Bit"
@@ -7527,9 +7478,8 @@ msgid "Trim"
msgstr ""
#: editor/import/resource_importer_wav.cpp
-#, fuzzy
msgid "Normalize"
-msgstr "Dimensiune Aleatorie:"
+msgstr "Normalizați"
#: editor/import/resource_importer_wav.cpp
#: scene/resources/audio_stream_sample.cpp
@@ -7633,9 +7583,8 @@ msgid "Capitalized"
msgstr "Proprietăți"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Localized"
-msgstr "Dimensiune Aleatorie:"
+msgstr "Localizat"
#: editor/inspector_dock.cpp
msgid "Localization not available for current language."
@@ -7982,9 +7931,8 @@ msgid "Blend:"
msgstr "Amestec:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Parameter Changed:"
-msgstr "Modificări ale Actualizării"
+msgstr "Parametru modificat:"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -8402,9 +8350,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition:"
-msgstr "Tranziție: "
+msgstr "Tranziție:"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -8673,7 +8620,7 @@ msgstr "Eroare Descărcare"
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Available URLs"
-msgstr "Profile Disponibile:"
+msgstr "URL-uri disponibile"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
@@ -9803,9 +9750,8 @@ msgstr ""
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
-#, fuzzy
msgid "Separator"
-msgstr "Enumerări:"
+msgstr "Separator"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -10237,9 +10183,8 @@ msgid "Volume"
msgstr "Volum"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Emission Source:"
-msgstr "Sursă de Emisie: "
+msgstr "Sursă de Emisie:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "A processor material of type 'ParticlesMaterial' is required."
@@ -10659,9 +10604,8 @@ msgid "Flip Portals"
msgstr ""
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Room Generate Points"
-msgstr "Număr de Puncte Generate:"
+msgstr "Cameră Genereaza puncte"
#: editor/plugins/room_manager_editor_plugin.cpp
#, fuzzy
@@ -13303,9 +13247,10 @@ msgstr "Opțiuni Snapping"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Compensare Grilă:"
@@ -14712,13 +14657,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Imposibil de deschis '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -18774,9 +18719,8 @@ msgid "Get Self"
msgstr "Propriu"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "CustomNode"
-msgstr "Creează Nod"
+msgstr "Nod Custom"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
@@ -22635,7 +22579,7 @@ msgstr ""
#: scene/3d/camera.cpp scene/3d/light.cpp scene/3d/reflection_probe.cpp
msgid "Cull Mask"
-msgstr ""
+msgstr "Masca Cull"
#: scene/3d/camera.cpp
#, fuzzy
@@ -23987,6 +23931,15 @@ msgstr "Eroare!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Se importă:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "Geometria"
@@ -24779,7 +24732,7 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Caret"
-msgstr ""
+msgstr "Caret"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Blink"
@@ -26737,7 +26690,7 @@ msgstr ""
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr ""
+msgstr "Blur"
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 0432de4da5..d746bb61ad 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -126,13 +126,14 @@
# Дмитрий <Dimega@inbox.ru>, 2022.
# Vladimir Kirillovskiy <vladimir.kirillovskiy@gmail.com>, 2022.
# Evgeniy Khramov <thejenjagamertjg@gmail.com>, 2022.
+# kirill blaze <kirillblaze2@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: Evgeniy Khramov <thejenjagamertjg@gmail.com>\n"
+"PO-Revision-Date: 2022-11-25 12:13+0000\n"
+"Last-Translator: Vladimir Kirillovskiy <vladimir.kirillovskiy@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -141,7 +142,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -1298,9 +1299,8 @@ msgid "Animation"
msgstr "ÐнимациÑ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Easing"
-msgstr "Переход В-ИЗ"
+msgstr "Облегчение"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
@@ -1443,12 +1443,10 @@ msgid "Easing:"
msgstr "Переход В-ИЗ:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "In-Handle:"
msgstr "Обработчик Ввода:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Out-Handle:"
msgstr "Обработчик Вывода:"
@@ -11695,9 +11693,8 @@ msgid "New Animation"
msgstr "ÐÐ¾Ð²Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Filter animations"
-msgstr "Фильтровать анимации"
+msgstr "Фильтр анимации"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
@@ -12878,9 +12875,10 @@ msgstr "Параметры привÑзки"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Смещение"
@@ -12911,9 +12909,8 @@ msgid "Texture"
msgstr "ТекÑтура"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tex Offset"
-msgstr "Смещение байтов"
+msgstr "Смещение текÑтуры"
#: editor/plugins/tile_set_editor_plugin.cpp modules/csg/csg_shape.cpp
#: scene/2d/canvas_item.cpp scene/2d/particles_2d.cpp
@@ -12931,44 +12928,36 @@ msgid "Tile Mode"
msgstr "Режим плитки"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Autotile Bitmask Mode"
msgstr "Режим битовой маÑки"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Size"
msgstr "Размер контура"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Subtile Spacing"
msgstr "МежÑтрочный интервал"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Offset"
-msgstr "ОтверÑтие окклюдера"
+msgstr "Сдвиг окклюдера"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Navigation Offset"
msgstr "ЧувÑтвительноÑÑ‚ÑŒ навигации"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Offset"
-msgstr "Базовое Ñмещение"
+msgstr "Смещение Формы"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Shape Transform"
-msgstr "Преобразование"
+msgstr "ТранÑÑ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Selected Collision"
-msgstr "ИÑпользовать Ñтолкновение"
+msgstr "Выделить Ñтолкновение"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -12991,9 +12980,8 @@ msgid "Selected Occlusion"
msgstr "Выделение"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Tileset Script"
-msgstr "Фильтр Ñценариев"
+msgstr "Скрипт набора тайлов"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "TileSet"
@@ -14305,16 +14293,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Ðеверный путь к проекту (Что-то изменили?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Ðе удалоÑÑŒ загрузить project.godot в пути проекта (ошибка %d). Возможно, он "
"отÑутÑтвует или поврежден."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Ðе удалоÑÑŒ изменить project.godot в папке проекта."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ проект в «%s»."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -19322,11 +19311,11 @@ msgstr ""
#: platform/javascript/export/export.cpp
msgid "For Mobile"
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ñ… уÑтройÑтв"
#: platform/javascript/export/export.cpp
msgid "HTML"
-msgstr ""
+msgstr "HTML"
#: platform/javascript/export/export.cpp
msgid "Export Icon"
@@ -23386,6 +23375,16 @@ msgstr "ÐœÐ°ÐºÑ Ð¡Ð¸Ð»Ð°"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Сортировать"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "ИÑпользовать Ambient"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "ГеометриÑ"
@@ -25895,9 +25894,8 @@ msgid "Height Curve"
msgstr "ÐšÑ€Ð¸Ð²Ð°Ñ Ð²Ñ‹Ñоты"
#: scene/resources/environment.cpp
-#, fuzzy
msgid "Tonemap"
-msgstr "ПереназначениÑ"
+msgstr "Карта тональноÑти"
#: scene/resources/environment.cpp
#, fuzzy
@@ -26011,7 +26009,7 @@ msgstr ""
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
msgid "2"
-msgstr ""
+msgstr "2"
#: scene/resources/environment.cpp
#: servers/audio/effects/audio_effect_chorus.cpp
diff --git a/editor/translations/si.po b/editor/translations/si.po
index 5e99894cf1..d0fcba8cfd 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -12562,9 +12562,10 @@ msgstr "à·à·Šâ€à¶»à·’ත:"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13926,12 +13927,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22683,6 +22683,15 @@ msgstr "කà·à¶©à¶´à¶­"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "නිවේà·à¶± මà·à¶¯à·’ලිය"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index ebd2256728..43c2fa6b5b 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -13245,9 +13245,10 @@ msgstr "Možnosti Prichytávania"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Odchýlka Mriežky:"
@@ -14658,12 +14659,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23921,6 +23921,15 @@ msgstr "Chyba!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Importovanie:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index f0e227266d..864dac1b8d 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -13421,9 +13421,10 @@ msgstr "Možnosti pripenjanja"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Mrežni Zamik:"
@@ -14850,13 +14851,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ni mogoÄe odpreti '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24167,6 +24168,15 @@ msgstr "Napaka!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Uvažanje:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index f8ffd0e88d..1215b7dbcb 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -13106,9 +13106,10 @@ msgstr "Përshkrimi i Klasës"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14502,12 +14503,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23576,6 +23576,15 @@ msgstr "Pasqyrë"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Duke Importuar:"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index f2f6a5bf09..419e33c494 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -14116,9 +14116,10 @@ msgstr "ПоÑтавке Залепљавања"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "ОфÑет:"
@@ -15791,16 +15792,15 @@ msgstr "Ðеважећа путања пројекта(нешто је измеÑ
#: editor/project_manager.cpp
#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"ÐеуÑпешно учитавање project.godot-а у његовој путањи (грешка %d). Могуће да "
"нешто недоÑтаје или је корумпирано."
#: editor/project_manager.cpp
#, fuzzy
-msgid "Couldn't edit project.godot in project path."
-msgstr "ÐеуÑпешна измена project.godot-а у путањи пројекта."
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ðе могу отворити '%s'."
#: editor/project_manager.cpp
#, fuzzy
@@ -25808,6 +25808,15 @@ msgstr "Грешка"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Сортирање"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index 8af5b1daaf..7973756c7e 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -12586,9 +12586,10 @@ msgstr "KaÄenje:"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13957,12 +13958,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22819,6 +22819,15 @@ msgstr "%s Greška"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Postavke UreÄ‘ivaÄa..."
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index 44b6fcf8b6..04965e6c69 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -32,8 +32,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-08-30 03:11+0000\n"
-"Last-Translator: Björn Åkesson <bjorn.akesson@gmail.com>\n"
+"PO-Revision-Date: 2022-09-29 19:16+0000\n"
+"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/"
"godot/sv/>\n"
"Language: sv\n"
@@ -41,7 +41,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.14.1\n"
#: core/bind/core_bind.cpp main/main.cpp
#, fuzzy
@@ -7177,7 +7177,7 @@ msgstr ""
#: editor/import/resource_importer_layered_texture.cpp
#: editor/import/resource_importer_texture.cpp
msgid "sRGB"
-msgstr ""
+msgstr "sRGB"
#: editor/import/resource_importer_layered_texture.cpp
#, fuzzy
@@ -13310,9 +13310,10 @@ msgstr "Alternativ"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13515,7 +13516,7 @@ msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "Lösenordsfras för SSH"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -14713,13 +14714,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Kan inte öppna projekt vid '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -18486,7 +18487,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "Medans"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -23988,6 +23989,15 @@ msgstr "Fel"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sortera"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/te.po b/editor/translations/te.po
index fe9f95b213..22474ca4ba 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -12382,9 +12382,10 @@ msgstr "గణనలà±"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -13718,12 +13719,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -22285,6 +22285,15 @@ msgstr ""
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "à°¸à±à°¥à°¿à°°à°¾à°‚కాలà±"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 6e4b0e578f..5f4ee76a4d 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -13,13 +13,14 @@
# PT 07 <porton555@gmail.com>, 2021.
# SysError_ <ictsanook@hotmail.com>, 2021.
# Kanda Ninthfish <akkhaporn@gmail.com>, 2022.
+# Absurdnoobman <jakkalin91@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-18 09:10+0000\n"
-"Last-Translator: Kanda Ninthfish <akkhaporn@gmail.com>\n"
+"PO-Revision-Date: 2022-11-26 14:36+0000\n"
+"Last-Translator: Absurdnoobman <jakkalin91@gmail.com>\n"
"Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/"
"th/>\n"
"Language: th\n"
@@ -27,7 +28,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -48,9 +49,8 @@ msgid "Exit Code"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "V-Sync Enabled"
-msgstr "เปิด"
+msgstr "เปิด V-Sync"
#: core/bind/core_bind.cpp main/main.cpp
msgid "V-Sync Via Compositor"
@@ -114,14 +114,13 @@ msgid "Maximized"
msgstr ""
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Minimized"
-msgstr "เริ่มต้น"
+msgstr "ย่อขนาด"
#: core/bind/core_bind.cpp core/project_settings.cpp scene/gui/dialogs.cpp
#: scene/gui/graph_node.cpp
msgid "Resizable"
-msgstr ""
+msgstr "ปรับขนาดได้"
#: core/bind/core_bind.cpp core/os/input_event.cpp scene/2d/node_2d.cpp
#: scene/2d/physics_body_2d.cpp scene/2d/remote_transform_2d.cpp
@@ -185,12 +184,11 @@ msgstr "ผิดพลาด"
#: core/bind/core_bind.cpp
#, fuzzy
msgid "Error String"
-msgstr "ผิดพลาดขณะบันทึà¸"
+msgstr "String ผิดพลาด"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Error Line"
-msgstr "ผิดพลาดขณะบันทึà¸"
+msgstr "บรรทัดผิดพลาด"
#: core/bind/core_bind.cpp
#, fuzzy
@@ -213,9 +211,8 @@ msgid "Limits"
msgstr ""
#: core/command_queue_mt.cpp
-#, fuzzy
msgid "Command Queue"
-msgstr "ctrl: หมุน"
+msgstr "คิวคำสั่ง"
#: core/command_queue_mt.cpp
msgid "Multithreading Queue Size (KB)"
@@ -232,7 +229,7 @@ msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™"
#: core/image.cpp core/packed_data_container.cpp scene/2d/polygon_2d.cpp
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Data"
-msgstr ""
+msgstr "ข้อมูล"
#: core/io/file_access_network.cpp core/register_core_types.cpp
#: editor/editor_file_dialog.cpp editor/editor_settings.cpp main/main.cpp
@@ -13201,9 +13198,10 @@ msgstr "ตัวเลือà¸à¸à¸²à¸£à¸ªà¹à¸™à¸›"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "เลื่อน:"
@@ -14635,15 +14633,16 @@ msgid "Invalid project path (changed anything?)."
msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¹‚ปรเจà¸à¸•à¹Œà¸œà¸´à¸”พลาด (ได้à¹à¸à¹‰à¹„ขอะไรไปหรือไม่?)"
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"โหลดไฟล์ project.godot ในโฟลเดอร์โปรเจà¸à¸•à¹Œà¹„ม่ได้ (ข้อผิดพลาด %d) ไฟล์อาจสูà¸à¸«à¸²à¸¢à¸«à¸£à¸·à¸­à¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢"
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "à¹à¸à¹‰à¹„ขไฟล์ project.godot ไม่ได้"
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "ไม่สามารถเปิดโปรเจà¸à¸•à¹Œà¸—ี่ '%s'"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24074,6 +24073,15 @@ msgstr "ผิดพลาด"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "เรียง"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
@@ -26878,7 +26886,7 @@ msgstr "ดีบั๊ภUV"
#: scene/resources/environment.cpp
msgid "Blur"
-msgstr ""
+msgstr "เบลอร์"
#: scene/resources/environment.cpp
msgid "Edge Sharpness"
diff --git a/editor/translations/tl.po b/editor/translations/tl.po
index bf39f11166..670e52056d 100644
--- a/editor/translations/tl.po
+++ b/editor/translations/tl.po
@@ -12724,9 +12724,10 @@ msgstr "Pagsasaayos ng Kalansay"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Usog:"
@@ -14099,12 +14100,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23165,6 +23165,15 @@ msgstr "Nabigo"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Pagkakaayos"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 8cbf35a18b..ac4b509150 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -85,13 +85,17 @@
# bsr <bsndrn16@gmail.com>, 2022.
# Ramazan SANCAR <ramazansancar4545@gmail.com>, 2022.
# Burak Orcun OZKABLAN <borcunozkablan@gmail.com>, 2022.
+# arda4888 <ardagaming2006@gmail.com>, 2022.
+# Dream Drunk <myemailpoly149@gmail.com>, 2022.
+# alpdenthedev <ekrem_ekrem_45@hotmail.com>, 2022.
+# Muhammed Said Gülberk <msgulberk@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-11 22:22+0000\n"
-"Last-Translator: Burak Orcun OZKABLAN <borcunozkablan@gmail.com>\n"
+"PO-Revision-Date: 2022-12-05 10:16+0000\n"
+"Last-Translator: Muhammed Said Gülberk <msgulberk@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/"
"godot/tr/>\n"
"Language: tr\n"
@@ -99,11 +103,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
-msgstr "Tablet Sürücü"
+msgstr "Tablet Sürücüsü"
#: core/bind/core_bind.cpp
msgid "Clipboard"
@@ -114,7 +118,6 @@ msgid "Current Screen"
msgstr "Åžu anki Ekran"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Exit Code"
msgstr "Çıkış Kodu"
@@ -132,11 +135,11 @@ msgstr "Delta YumuÅŸatma"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
-msgstr "Düşük İşlemci Kullanım Modu"
+msgstr "Ä°ÅŸlemci Dostu Mod"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode Sleep (µsec)"
-msgstr "Düşük İşlemci Kullanımı Uyku Modu (μsn)"
+msgstr "Uykulu İşlemci Modu (µsec)"
#: core/bind/core_bind.cpp main/main.cpp platform/uwp/os_uwp.cpp
msgid "Keep Screen On"
@@ -152,7 +155,7 @@ msgstr "Maksimum Ekran Boyutu"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
-msgstr "Ekran Yönü"
+msgstr "Ekran oryantasyonu"
#: core/bind/core_bind.cpp core/project_settings.cpp main/main.cpp
#: platform/uwp/os_uwp.cpp
@@ -161,7 +164,7 @@ msgstr "Pencere"
#: core/bind/core_bind.cpp core/project_settings.cpp
msgid "Borderless"
-msgstr "Kenarlıksız"
+msgstr "Kenarsız"
#: core/bind/core_bind.cpp
msgid "Per Pixel Transparency Enabled"
@@ -333,7 +336,7 @@ msgstr "AÄŸ Profilcisi"
#: core/io/multiplayer_api.cpp scene/animation/animation_player.cpp
msgid "Root Node"
-msgstr "Kök Düğüm Adı"
+msgstr "Kök Düğümü"
#: core/io/networked_multiplayer_peer.cpp
msgid "Refuse New Connections"
@@ -361,7 +364,7 @@ msgstr "Akış Eşi"
#: core/io/stream_peer.cpp
msgid "Big Endian"
-msgstr "big-endian"
+msgstr "Big Endian"
#: core/io/stream_peer.cpp
msgid "Data Array"
@@ -369,7 +372,7 @@ msgstr "Veri Dizisi"
#: core/io/stream_peer_ssl.cpp
msgid "Blocking Handshake"
-msgstr "Tokalaşmayı blokla"
+msgstr "El Sıkışmayı Blokla"
#: core/io/udp_server.cpp
msgid "Max Pending Connections"
@@ -388,7 +391,7 @@ msgstr "1(bir) karakter uzunluÄŸunda bir dize bekleniyor ."
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Baytları çözümlemek için yetersiz miktarda bayt ya da geçersiz format."
+msgstr "Baytları çözümlemek için yetersiz bayt miktarı veya geçersiz format."
#: core/math/expression.cpp
msgid "Invalid input %d (not passed) in expression"
@@ -396,7 +399,7 @@ msgstr "İfadede geçersiz giriş %d"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "self kullanılamaz çünkü örnek boş (geçilmedi)"
+msgstr "örnek boş olduğu için self kullanılamaz (geçilmedi)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -7222,6 +7225,9 @@ msgid ""
"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
+"%s: Dokunun 3D'de normal haritası olarak kullanıldığı algılandı. Bellek "
+"kullanımını azaltmak için kırmızı-yeşil doku sıkıştırma etkinleştiriliyor. "
+"(mavi kanal kullanılmıyor)."
#: editor/import/resource_importer_texture.cpp
#, fuzzy
@@ -7251,7 +7257,7 @@ msgstr "HDR Modu"
#: editor/import/resource_importer_texture.cpp
msgid "BPTC LDR"
-msgstr ""
+msgstr "BPTC LDR"
#: editor/import/resource_importer_texture.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/2d/cpu_particles_2d.cpp
@@ -7359,7 +7365,7 @@ msgstr "Maximum Hz Oranı"
#: editor/import/resource_importer_wav.cpp
msgid "Trim"
-msgstr ""
+msgstr "Kırp"
#: editor/import/resource_importer_wav.cpp
msgid "Normalize"
@@ -9535,7 +9541,7 @@ msgstr "Simge"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "ID"
-msgstr ""
+msgstr "ID"
#: editor/plugins/item_list_editor_plugin.cpp
#: scene/resources/default_theme/default_theme.cpp
@@ -10708,7 +10714,7 @@ msgstr "Script Ä°simlerini Listele"
#: editor/plugins/script_editor_plugin.cpp
msgid "Exec Flags"
-msgstr ""
+msgstr "Çalıştırma Bayrakları"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -12891,9 +12897,10 @@ msgstr "Hizalama Ayarları"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "Kaydırma"
@@ -14319,16 +14326,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Geçersiz proje yolu (bir şey değişti mi?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Proje yolundaki proje.godot düzenlenemedi (error %d). Eksik veya bozulmuş "
"olabilir."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "proje yolundaki proje.godot düzenlenemedi."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "'%s' adresindeki proje açılamıyor."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -15326,6 +15334,9 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"Halihazırda örneklendirilmiş bir sahnenin alt öğesi olan dal kaydedilemez.\n"
+"Bu dalı kendisine ait sahneye kaydetmek için, orijinal sahneyi açın, bu dala "
+"sağ tıklayın, ve \"Dalı Sahne olarak Kaydet\"i seçin."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -15333,6 +15344,9 @@ msgid ""
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
msgstr ""
+"Devralınan sahnenin parçası olan bir dal kaydedilemez.\n"
+"Bu dalı kendisine ait sahneye kaydetmek için, orijinal sahneyi açın, bu dala "
+"sağ tıklayın, ve \"Dalı Sahne olarak Kaydet\"i seçin."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -15360,19 +15374,18 @@ msgid "Make Local"
msgstr "YerelleÅŸtir"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Enable Scene Unique Name(s)"
-msgstr "Sahne Benzersiz İsmini Etkin Kıl"
+msgstr "Sahne İçi Benzersiz İsim(ler)i Etkin Kıl"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Unique names already used by another node in the scene:"
-msgstr "Başka bir düğüm sahnede bu benzersiz adı zaten kullanıyor."
+msgstr ""
+"Halihazırda sahnedeki başka bir düğüm tarafından kullanılan benzersiz "
+"isimler:"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Disable Scene Unique Name(s)"
-msgstr "Sahne Benzersiz İsmini Etkisiz Kıl"
+msgstr "Sahne İçi Benzersiz İsim(ler)i Etkisiz Kıl"
#: editor/scene_tree_dock.cpp
msgid "New Scene Root"
@@ -15400,7 +15413,7 @@ msgstr "Diğer Düğüm"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
-msgstr "Yad bir sahnedeki düğümler üzerinde çalışamaz!"
+msgstr "Yabancı bir sahnedeki düğümler üzerinde çalışılamaz!"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
@@ -15439,7 +15452,7 @@ msgstr "Sahne kaydedilirken hata."
#: editor/scene_tree_dock.cpp
msgid "Error duplicating scene to save it."
-msgstr "Kaydetmek için sahne çoğaltılırken hata."
+msgstr "Sahne kaydetmek için çoğaltılırken hata."
#: editor/scene_tree_dock.cpp
msgid "Sub-Resources"
@@ -15447,11 +15460,11 @@ msgstr "Alt Kaynaklar"
#: editor/scene_tree_dock.cpp
msgid "Access as Scene Unique Name"
-msgstr ""
+msgstr "Sahne İçi Benzersiz İsim olarak Erişim"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
-msgstr "Kalıtı Temizle"
+msgstr "Kalıtımı Temizle"
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
@@ -15476,7 +15489,7 @@ msgstr "Alt Düğüm Ekle"
#: editor/scene_tree_dock.cpp
msgid "Expand/Collapse All"
-msgstr "Hepsini Aç/Kapa"
+msgstr "Hepsini GeniÅŸlet/Daralt"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
@@ -16193,7 +16206,7 @@ msgstr "Godot FiziÄŸi"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
msgid "Use BVH"
-msgstr ""
+msgstr "BVH Kullan"
#: main/main.cpp servers/physics_2d/physics_2d_server_sw.cpp
#: servers/visual/visual_server_scene.cpp
@@ -16213,7 +16226,7 @@ msgstr "MultiNode Kur"
#: main/main.cpp
msgid "RID Pool Prealloc"
-msgstr ""
+msgstr "RID Havuzu Ön Tahsisi"
#: main/main.cpp
#, fuzzy
@@ -16275,7 +16288,7 @@ msgstr "Sürücü Adı"
#: main/main.cpp
msgid "Fallback To GLES2"
-msgstr ""
+msgstr "GLES2'ye Geri Dön"
#: main/main.cpp
msgid "Use Nvidia Rect Flicker Workaround"
@@ -16889,9 +16902,8 @@ msgid "Script Class"
msgstr "Betik Sınıfı"
#: modules/gdnative/nativescript/nativescript.cpp
-#, fuzzy
msgid "Icon Path"
-msgstr "Yola Odaklan"
+msgstr "Ä°kon Yolu"
#: modules/gdnative/register_types.cpp
msgid "GDNative"
@@ -16899,9 +16911,8 @@ msgstr "GDYerel"
#: modules/gdscript/editor/gdscript_highlighter.cpp
#: modules/gdscript/gdscript.cpp
-#, fuzzy
msgid "GDScript"
-msgstr "Betik"
+msgstr "GDScript"
#: modules/gdscript/editor/gdscript_highlighter.cpp
msgid "Function Definition Color"
@@ -18203,7 +18214,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Type Cast"
-msgstr "Tür Değişimi"
+msgstr "Tür Dönüştür"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
@@ -18253,9 +18264,8 @@ msgid "Validate"
msgstr "DoÄŸrula"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "RPC Call Mode"
-msgstr "Esnetme Åžekli"
+msgstr "RPC çağrı modu"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Subtract %s"
@@ -23138,7 +23148,7 @@ msgstr "Küçük harf"
#: scene/3d/physics_joint.cpp
msgid "Motor"
-msgstr ""
+msgstr "Motor"
#: scene/3d/physics_joint.cpp
#, fuzzy
@@ -23771,6 +23781,16 @@ msgstr "Hata"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sırala"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "Çevreyi Kullan"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 07cfe5b6b1..f9a6c787a5 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -30,8 +30,8 @@ msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: Teashrock <kajitsu22@gmail.com>\n"
+"PO-Revision-Date: 2022-10-03 12:44+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
"Language: uk\n"
@@ -12804,9 +12804,10 @@ msgstr "Параметри прилипаннÑ"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "ЗміщеннÑ"
@@ -14218,16 +14219,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "Ðекоректний шлÑÑ… до проєкту (щоÑÑŒ змінилоÑÑ?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ project.godot у каталозі проєкту (помилка %d). "
"Можливо, файл вилучено або пошкоджено."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Ðе вдалоÑÑ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ñ‚Ð¸ project.godot у каталозі проєкту."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ проєкт у «%s»."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -20477,7 +20479,7 @@ msgstr "Режим змішуваннÑ"
#: scene/2d/canvas_item.cpp
msgid "Light Mode"
-msgstr "Праворуч за шириною"
+msgstr "Режим оÑвітленнÑ"
#: scene/2d/canvas_item.cpp
msgid "Particles Animation"
@@ -23232,6 +23234,16 @@ msgstr "МакÑимальна Ñила"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Сортувати"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "ВикориÑтовувати адаптивний"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "ГеометріÑ"
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index d09218a600..1046f11996 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -12827,9 +12827,10 @@ msgstr ".تمام کا انتخاب"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14217,12 +14218,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
+msgid "Couldn't save project at '%s' (error %d)."
msgstr ""
#: editor/project_manager.cpp
@@ -23156,6 +23156,15 @@ msgstr ""
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr ".تمام کا انتخاب"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr ""
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index 2a0fadcf9f..b4a5f4494b 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -22,13 +22,14 @@
# Hung <hungthitkhia@gmail.com>, 2021.
# Paweł Fertyk <pfertyk@pfertyk.me>, 2022.
# MInhTriet <luckyblockblack@gmail.com>, 2022.
+# Nhật Huy <nhat.huy.7996@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-08-17 18:20+0000\n"
-"Last-Translator: MInhTriet <luckyblockblack@gmail.com>\n"
+"PO-Revision-Date: 2022-11-30 15:16+0000\n"
+"Last-Translator: Nhật Huy <nhat.huy.7996@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot/vi/>\n"
"Language: vi\n"
@@ -36,7 +37,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -63,9 +64,8 @@ msgid "V-Sync Via Compositor"
msgstr "V-Sync thông qua Compositor"
#: core/bind/core_bind.cpp main/main.cpp
-#, fuzzy
msgid "Delta Smoothing"
-msgstr "Delta smoothing"
+msgstr "Dealta smooth"
#: core/bind/core_bind.cpp
msgid "Low Processor Usage Mode"
@@ -162,9 +162,8 @@ msgid "Target FPS"
msgstr "FPS cần đạt tới"
#: core/bind/core_bind.cpp
-#, fuzzy
msgid "Time Scale"
-msgstr "Nút TimeScale"
+msgstr "Ä‘á»™ giãn nở thá»i gian"
#: core/bind/core_bind.cpp main/main.cpp
#, fuzzy
@@ -13042,9 +13041,10 @@ msgstr "Tùy chá»n Dính"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
#, fuzzy
msgid "Offset"
msgstr "Äá»™ dá»i:"
@@ -14457,16 +14457,17 @@ msgid "Invalid project path (changed anything?)."
msgstr "ÄÆ°á»ng dẫn dá»± án không hợp lệ (bạn có thay đổi Ä‘iá»u gì?)."
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"Không thể nạp 'project.godot' trong Ä‘Æ°á»ng dẫn dá»± án (lá»—i %d). Nó có thể bị "
"thiếu hoặc đã há»ng."
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "Không thể chỉnh sá»­a 'project.godot' trong Ä‘Æ°á»ng dẫn dá»± án."
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Không thể mở dự án tại '%s'."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -23932,6 +23933,15 @@ msgstr "Lá»—i"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "Sắp xếp"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 1aeaea7087..52f072e946 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -84,12 +84,15 @@
# nitenook <admin@alterbaum.net>, 2021.
# jker <cxgmfy@163.com>, 2021.
# Ankar <1511276198@qq.com>, 2022.
+# 风é’å±± <idleman@yeah.net>, 2022.
+# 1104 EXSPIRAVIT_ <m18621006730@gmail.com>, 2022.
+# ChairC <974833488@qq.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2022-09-22 15:26+0000\n"
+"PO-Revision-Date: 2022-12-05 08:51+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
@@ -98,7 +101,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -142,11 +145,11 @@ msgstr "å±å¹•å¸¸äº®"
#: core/bind/core_bind.cpp
msgid "Min Window Size"
-msgstr "窗å£æœ€å°å¤§å°"
+msgstr "最å°çª—å£å¤§å°"
#: core/bind/core_bind.cpp
msgid "Max Window Size"
-msgstr "窗å£æœ€å¤§å¤§å°"
+msgstr "最大窗å£å¤§å°"
#: core/bind/core_bind.cpp
msgid "Screen Orientation"
@@ -4148,7 +4151,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
-msgstr "场景 “%s†的ä¾èµ–已被破å:"
+msgstr "场景 “%s†的ä¾èµ–å·²æŸå:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
@@ -5637,12 +5640,12 @@ msgstr "选择框颜色"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "3D Gizmos"
-msgstr "3D 控制器"
+msgstr "3D å°å·¥å…·"
#: editor/editor_settings.cpp editor/plugins/path_editor_plugin.cpp
#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Gizmo Colors"
-msgstr "控制器颜色"
+msgstr "å°å·¥å…·é¢œè‰²"
#: editor/editor_settings.cpp
msgid "Instanced"
@@ -7920,7 +7923,7 @@ msgstr "强制用白色调和"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Include Gizmos (3D)"
-msgstr "包括控制器(3D)"
+msgstr "包括å°å·¥å…·ï¼ˆ3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pin AnimationPlayer"
@@ -8439,7 +8442,7 @@ msgstr "创建光照贴图失败,切确ä¿æ–‡ä»¶æ˜¯å¯å†™çš„。"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Failed determining lightmap size. Maximum lightmap size too small?"
-msgstr "无法确定光照贴图大å°ã€‚最大光照贴图大å°å¤ªå°ï¼Ÿ"
+msgstr "无法确定光照贴图大å°ã€‚最大光照贴图尺寸太å°ï¼Ÿ"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid ""
@@ -10984,7 +10987,7 @@ msgstr "查看环境"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Gizmos"
-msgstr "查看控制器"
+msgstr "查看å°å·¥å…·"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Information"
@@ -11090,9 +11093,9 @@ msgid ""
msgstr ""
"点击以切æ¢å¯è§çŠ¶æ€ã€‚\n"
"\n"
-"ç眼:控制器å¯è§ã€‚\n"
-"闭眼:控制器éšè—。\n"
-"åŠç眼:控制器也å¯ç©¿è¿‡ä¸é€æ˜Žçš„表é¢å¯è§ï¼ˆâ€œX å…‰â€ï¼‰ã€‚"
+"ç眼:å°å·¥å…·å¯è§ã€‚\n"
+"闭眼:å°å·¥å…·éšè—。\n"
+"åŠç眼:å°å·¥å…·ä¹Ÿå¯ç©¿è¿‡ä¸é€æ˜Žçš„表é¢å¯è§ï¼ˆâ€œX å…‰â€ï¼‰ã€‚"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Nodes to Floor"
@@ -11224,7 +11227,7 @@ msgstr "4 个视窗"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Gizmos"
-msgstr "控制器"
+msgstr "å°å·¥å…·"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
@@ -11309,19 +11312,19 @@ msgstr "åŽç½®"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Size"
-msgstr "æ“作控制器大å°"
+msgstr "æ“作å°å·¥å…·å¤§å°"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Manipulator Gizmo Opacity"
-msgstr "æ“作控制器ä¸é€æ˜Žåº¦"
+msgstr "æ“作å°å·¥å…·ä¸é€æ˜Žåº¦"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Show Viewport Rotation Gizmo"
-msgstr "显示视区旋转控制器"
+msgstr "显示视区旋转å°å·¥å…·"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unnamed Gizmo"
-msgstr "未命å控制器"
+msgstr "未命åå°å·¥å…·"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create Mesh2D"
@@ -12636,9 +12639,10 @@ msgstr "å¸é™„选项"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "å移"
@@ -14006,15 +14010,16 @@ msgid "Invalid project path (changed anything?)."
msgstr "项目路径无效(被外部修改?)。"
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
"无法在项目路径中加载 project.godot 文件(错误 %d)。该文件å¯èƒ½ç¼ºå¤±æˆ–å·²æŸå。"
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "无法在项目路径下编辑 project.godot 文件。"
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "无法打开ä½äºŽâ€œ%sâ€çš„项目。"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -16418,7 +16423,7 @@ msgstr "添加架构项"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "GDNativeLibrary"
-msgstr "GDNative 库"
+msgstr "GDNativeLibrary"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
@@ -20691,7 +20696,7 @@ msgstr "NavigationAgent2D åªèƒ½åœ¨ç»§æ‰¿ Node2D 的父节点下使用。"
#: scene/2d/navigation_obstacle_2d.cpp scene/3d/navigation_obstacle.cpp
msgid "Estimate Radius"
-msgstr "估计åŠå¾„"
+msgstr "ä¼°ç®—åŠå¾„"
#: scene/2d/navigation_obstacle_2d.cpp
msgid ""
@@ -21033,7 +21038,7 @@ msgstr "内部顶点数"
#: scene/2d/position_2d.cpp
msgid "Gizmo Extents"
-msgstr "控制器大å°"
+msgstr "å°å·¥å…·èŒƒå›´"
#: scene/2d/ray_cast_2d.cpp scene/3d/ray_cast.cpp
msgid "Exclude Parent"
@@ -22607,7 +22612,7 @@ msgstr "矩阵"
#: scene/3d/spatial.cpp
msgid "Gizmo"
-msgstr "控制器"
+msgstr "å°å·¥å…·"
#: scene/3d/spatial_velocity_tracker.cpp
msgid "Track Physics Step"
@@ -22693,6 +22698,16 @@ msgstr "最大力度"
msgid "AABB"
msgstr "AABB"
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "排åº"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "使用环境光"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
msgid "Geometry"
msgstr "几何体"
@@ -25193,7 +25208,7 @@ msgstr "亮度"
#: scene/resources/environment.cpp
msgid "Saturation"
-msgstr "对比度"
+msgstr "饱和度"
#: scene/resources/environment.cpp
msgid "Color Correction"
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index f8529ea3ca..8af64cfc4e 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -13397,9 +13397,10 @@ msgstr "é¸é …"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr ""
@@ -14821,13 +14822,13 @@ msgstr ""
#: editor/project_manager.cpp
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr ""
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr ""
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "ä¸èƒ½é€£æŽ¥ã€‚"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -24070,6 +24071,15 @@ msgstr "錯誤!"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "排åºï¼š"
+
+#: scene/3d/visual_instance.cpp
+msgid "Use AABB Center"
+msgstr ""
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index 4cd08539e4..dd54885310 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -43,8 +43,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-09-27 21:37+0000\n"
-"Last-Translator: nitenook <admin@alterbaum.net>\n"
+"PO-Revision-Date: 2022-10-16 07:25+0000\n"
+"Last-Translator: BinotaLIU <me@binota.org>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -52,7 +52,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: core/bind/core_bind.cpp main/main.cpp
msgid "Tablet Driver"
@@ -4148,7 +4148,7 @@ msgstr "刪除é…ç½®"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
msgid "Default"
-msgstr "默èª"
+msgstr "é è¨­"
#: editor/editor_node.cpp editor/editor_resource_picker.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
@@ -12591,9 +12591,10 @@ msgstr "å¸é™„é¸é …"
#: scene/2d/path_2d.cpp scene/2d/polygon_2d.cpp scene/2d/sprite.cpp
#: scene/3d/cpu_particles.cpp scene/3d/label_3d.cpp scene/3d/path.cpp
#: scene/3d/physics_body.cpp scene/3d/soft_body.cpp scene/3d/sprite_3d.cpp
-#: scene/gui/graph_node.cpp scene/gui/rich_text_effect.cpp
-#: scene/main/canvas_layer.cpp scene/resources/material.cpp
-#: scene/resources/particles_material.cpp scene/resources/style_box.cpp
+#: scene/3d/visual_instance.cpp scene/gui/graph_node.cpp
+#: scene/gui/rich_text_effect.cpp scene/main/canvas_layer.cpp
+#: scene/resources/material.cpp scene/resources/particles_material.cpp
+#: scene/resources/style_box.cpp
msgid "Offset"
msgstr "å移"
@@ -13962,14 +13963,15 @@ msgid "Invalid project path (changed anything?)."
msgstr "ä¸æ­£ç¢ºçš„專案路徑(有修改了什麼嗎?)。"
#: editor/project_manager.cpp
+#, fuzzy
msgid ""
-"Couldn't load project.godot in project path (error %d). It may be missing or "
-"corrupted."
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
msgstr "無法自專案路徑內載入 project.godot(錯誤 %d)。檔案å¯èƒ½éºå¤±æˆ–æ毀。"
#: editor/project_manager.cpp
-msgid "Couldn't edit project.godot in project path."
-msgstr "無法在專案路徑中編輯 project.godot。"
+#, fuzzy
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "無法於「%sã€æ‰“開專案。"
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
@@ -17240,7 +17242,7 @@ msgstr "發ç¾æœ¬åœ°é€šè¨ŠåŸ "
#: modules/upnp/upnp.cpp
msgid "Discover IPv6"
-msgstr "DiscoverIPv6"
+msgstr "Discover IPv6"
#: modules/upnp/upnp_device.cpp
#, fuzzy
@@ -18168,7 +18170,7 @@ msgstr "自é©æ‡‰å‰æ™¯ 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Adaptive Background 432 X 432"
-msgstr ""
+msgstr "自é©æ‡‰èƒŒæ™¯ 432 X 432"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -18201,7 +18203,7 @@ msgstr "剪下節點"
#: platform/android/export/export_plugin.cpp
msgid "Use Custom Build"
-msgstr ""
+msgstr "使用自定義建構"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18234,7 +18236,7 @@ msgstr "除錯工具"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
msgid "Debug Password"
-msgstr ""
+msgstr "åµéŒ¯å¯†ç¢¼"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18248,7 +18250,7 @@ msgstr "發行"
#: platform/android/export/export_plugin.cpp
msgid "One Click Deploy"
-msgstr ""
+msgstr "一éµéƒ¨ç½²"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18257,7 +18259,7 @@ msgstr "åµæŸ¥å‰ä¸€å€‹å¯¦é«”"
#: platform/android/export/export_plugin.cpp
msgid "Code"
-msgstr ""
+msgstr "程å¼ç¢¼"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
@@ -18279,7 +18281,7 @@ msgstr "分類為éŠæˆ²"
#: platform/android/export/export_plugin.cpp
msgid "Retain Data On Uninstall"
-msgstr ""
+msgstr "å–消安è£æ™‚ä¿ç•™è³‡æ–™"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18312,11 +18314,11 @@ msgstr "正在打包"
#: platform/android/export/export_plugin.cpp
msgid "Hand Tracking Frequency"
-msgstr ""
+msgstr "手勢追蹤頻率"
#: platform/android/export/export_plugin.cpp
msgid "Passthrough"
-msgstr ""
+msgstr "ç©¿é€"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18350,7 +18352,7 @@ msgstr "使用者界é¢"
#: platform/android/export/export_plugin.cpp
msgid "Allow"
-msgstr ""
+msgstr "å…許"
#: platform/android/export/export_plugin.cpp platform/uwp/export/export.cpp
#, fuzzy
@@ -18368,7 +18370,7 @@ msgstr "設定表示å¼"
#: platform/android/export/export_plugin.cpp
msgid "Salt"
-msgstr ""
+msgstr "Salt"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -18488,6 +18490,10 @@ msgid ""
"Note that the singleton was also renamed from \"GodotPayments\" to "
"\"GodotGooglePlayBilling\"."
msgstr ""
+"「android/modulesã€å°ˆæ¡ˆè¨­å®šä¸­åŒ…å«äº†ç„¡æ•ˆçš„「GodotPaymentV3ã€ï¼ˆåœ¨ Godot 3.2.2 "
+"中已更改)。\n"
+"請將其更æ›ç‚ºç¬¬ä¸€æ–¹çš„「GodotGooglePlayBillingã€å¤–掛。\n"
+"請注æ„,該單例已從「GodotPaymentsã€æ›´æ”¹ç‚ºã€ŒGodotGooglePlayBillingã€ã€‚"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -18519,13 +18525,13 @@ msgstr "å°ã€ŒMin Sdkã€çš„修改僅在「Use Custom Buildã€å•Ÿç”¨æ™‚有效。"
#: platform/android/export/export_plugin.cpp
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
-msgstr ""
+msgstr "ã€Œæœ€å° SDKã€æ‡‰ç‚ºæœ‰æ•ˆæ•´æ•¸ï¼Œä½†ç›®å‰å€¼ç‚ºç„¡æ•ˆçš„「%sã€ã€‚"
#: platform/android/export/export_plugin.cpp
msgid ""
"\"Min SDK\" cannot be lower than %d, which is the version needed by the "
"Godot library."
-msgstr ""
+msgstr "ã€Œæœ€å° SDKã€ä¸å¯ä½Žæ–¼ %d,因 Godot 函å¼åº«éœ€è¦è©²æœ€å°ç‰ˆæœ¬ã€‚"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -23175,6 +23181,16 @@ msgstr "錯誤"
msgid "AABB"
msgstr ""
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Sorting"
+msgstr "排åº"
+
+#: scene/3d/visual_instance.cpp
+#, fuzzy
+msgid "Use AABB Center"
+msgstr "使用環境通é“"
+
#: scene/3d/visual_instance.cpp scene/resources/navigation_mesh.cpp
#, fuzzy
msgid "Geometry"
diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp
index 81e50d6b79..1149749ef7 100644
--- a/modules/gdscript/gdscript_analyzer.cpp
+++ b/modules/gdscript/gdscript_analyzer.cpp
@@ -1595,7 +1595,7 @@ void GDScriptAnalyzer::resolve_constant(GDScriptParser::ConstantNode *p_constant
}
if (p_constant->datatype_specifier != nullptr) {
- if (!is_type_compatible(explicit_type, type)) {
+ if (!is_type_compatible(explicit_type, type, true)) {
push_error(vformat(R"(Assigned value for constant "%s" has type %s which is not compatible with defined type %s.)", p_constant->identifier->name, type.to_string(), explicit_type.to_string()), p_constant->initializer);
#ifdef DEBUG_ENABLED
} else if (explicit_type.builtin_type == Variant::INT && type.builtin_type == Variant::FLOAT) {
@@ -4187,8 +4187,6 @@ bool GDScriptAnalyzer::is_type_compatible(const GDScriptParser::DataType &p_targ
if (p_target.kind == GDScriptParser::DataType::BUILTIN) {
bool valid = p_source.kind == GDScriptParser::DataType::BUILTIN && p_target.builtin_type == p_source.builtin_type;
- valid |= p_source.builtin_type == Variant::STRING && p_target.builtin_type == Variant::STRING_NAME;
- valid |= p_source.builtin_type == Variant::STRING_NAME && p_target.builtin_type == Variant::STRING;
if (!valid && p_allow_implicit_conversion) {
valid = Variant::can_convert_strict(p_source.builtin_type, p_target.builtin_type);
}
@@ -4204,7 +4202,7 @@ bool GDScriptAnalyzer::is_type_compatible(const GDScriptParser::DataType &p_targ
// Variant array can't be appended to typed array.
valid = false;
} else {
- valid = is_type_compatible(p_target.get_container_element_type(), p_source.get_container_element_type(), false);
+ valid = is_type_compatible(p_target.get_container_element_type(), p_source.get_container_element_type(), p_allow_implicit_conversion);
}
}
}
diff --git a/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.gd b/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.gd
index 4511c3d10b..eb0003eed8 100644
--- a/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.gd
+++ b/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.gd
@@ -1,4 +1,11 @@
+
+var m_string_array: Array[String] = [&"abc"]
+var m_stringname_array: Array[StringName] = ["abc"]
+
func test():
+ print(m_string_array)
+ print(m_stringname_array)
+
# Converted to String when initialized
var string_array: Array[String] = [&"abc"]
print(string_array)
diff --git a/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.out b/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.out
index 70dd01d88e..09c199bde1 100644
--- a/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.out
+++ b/modules/gdscript/tests/scripts/analyzer/features/array_string_stringname_equivalent.out
@@ -1,3 +1,5 @@
GDTEST_OK
["abc"]
[&"abc"]
+["abc"]
+[&"abc"]
diff --git a/modules/openxr/action_map/openxr_action.cpp b/modules/openxr/action_map/openxr_action.cpp
index 7e02f0374d..634f653376 100644
--- a/modules/openxr/action_map/openxr_action.cpp
+++ b/modules/openxr/action_map/openxr_action.cpp
@@ -75,6 +75,7 @@ String OpenXRAction::get_name_with_set() const {
void OpenXRAction::set_localized_name(const String p_localized_name) {
localized_name = p_localized_name;
+ emit_changed();
}
String OpenXRAction::get_localized_name() const {
@@ -83,6 +84,7 @@ String OpenXRAction::get_localized_name() const {
void OpenXRAction::set_action_type(const OpenXRAction::ActionType p_action_type) {
action_type = p_action_type;
+ emit_changed();
}
OpenXRAction::ActionType OpenXRAction::get_action_type() const {
@@ -91,6 +93,7 @@ OpenXRAction::ActionType OpenXRAction::get_action_type() const {
void OpenXRAction::set_toplevel_paths(const PackedStringArray p_toplevel_paths) {
toplevel_paths = p_toplevel_paths;
+ emit_changed();
}
PackedStringArray OpenXRAction::get_toplevel_paths() const {
@@ -100,15 +103,18 @@ PackedStringArray OpenXRAction::get_toplevel_paths() const {
void OpenXRAction::add_toplevel_path(const String p_toplevel_path) {
if (!toplevel_paths.has(p_toplevel_path)) {
toplevel_paths.push_back(p_toplevel_path);
+ emit_changed();
}
}
void OpenXRAction::rem_toplevel_path(const String p_toplevel_path) {
if (toplevel_paths.has(p_toplevel_path)) {
toplevel_paths.erase(p_toplevel_path);
+ emit_changed();
}
}
void OpenXRAction::parse_toplevel_paths(const String p_toplevel_paths) {
toplevel_paths = p_toplevel_paths.split(",", false);
+ emit_changed();
}
diff --git a/modules/openxr/action_map/openxr_action_map.cpp b/modules/openxr/action_map/openxr_action_map.cpp
index 123f860ce9..226bfa18ba 100644
--- a/modules/openxr/action_map/openxr_action_map.cpp
+++ b/modules/openxr/action_map/openxr_action_map.cpp
@@ -95,6 +95,7 @@ void OpenXRActionMap::add_action_set(Ref<OpenXRActionSet> p_action_set) {
if (action_sets.find(p_action_set) == -1) {
action_sets.push_back(p_action_set);
+ emit_changed();
}
}
@@ -102,6 +103,7 @@ void OpenXRActionMap::remove_action_set(Ref<OpenXRActionSet> p_action_set) {
int idx = action_sets.find(p_action_set);
if (idx != -1) {
action_sets.remove_at(idx);
+ emit_changed();
}
}
@@ -146,6 +148,7 @@ void OpenXRActionMap::add_interaction_profile(Ref<OpenXRInteractionProfile> p_in
if (interaction_profiles.find(p_interaction_profile) == -1) {
interaction_profiles.push_back(p_interaction_profile);
+ emit_changed();
}
}
@@ -153,6 +156,7 @@ void OpenXRActionMap::remove_interaction_profile(Ref<OpenXRInteractionProfile> p
int idx = interaction_profiles.find(p_interaction_profile);
if (idx != -1) {
interaction_profiles.remove_at(idx);
+ emit_changed();
}
}
@@ -489,30 +493,34 @@ Ref<OpenXRAction> OpenXRActionMap::get_action(const String p_path) const {
return Ref<OpenXRAction>();
}
-void OpenXRActionMap::remove_action(const String p_path) {
+void OpenXRActionMap::remove_action(const String p_path, bool p_remove_interaction_profiles) {
Ref<OpenXRAction> action = get_action(p_path);
if (action.is_valid()) {
+ for (int i = 0; i < interaction_profiles.size(); i++) {
+ Ref<OpenXRInteractionProfile> interaction_profile = interaction_profiles[i];
+
+ if (p_remove_interaction_profiles) {
+ // Remove any bindings for this action
+ interaction_profile->remove_binding_for_action(action);
+ } else {
+ ERR_FAIL_COND(interaction_profile->has_binding_for_action(action));
+ }
+ }
+
OpenXRActionSet *action_set = action->get_action_set();
if (action_set != nullptr) {
// Remove the action from this action set
action_set->remove_action(action);
}
-
- for (int i = 0; i < interaction_profiles.size(); i++) {
- Ref<OpenXRInteractionProfile> interaction_profile = interaction_profiles[i];
-
- // Remove any bindings for this action
- interaction_profile->remove_binding_for_action(action);
- }
}
}
-PackedStringArray OpenXRActionMap::get_top_level_paths(Ref<OpenXRAction> p_action) {
+PackedStringArray OpenXRActionMap::get_top_level_paths(const Ref<OpenXRAction> p_action) {
PackedStringArray arr;
for (int i = 0; i < interaction_profiles.size(); i++) {
Ref<OpenXRInteractionProfile> ip = interaction_profiles[i];
- const OpenXRDefs::InteractionProfile *profile = OpenXRDefs::get_profile(ip->get_interaction_profile_path());
+ const OpenXRInteractionProfileMetaData::InteractionProfile *profile = OpenXRInteractionProfileMetaData::get_singleton()->get_profile(ip->get_interaction_profile_path());
if (profile != nullptr) {
for (int j = 0; j < ip->get_binding_count(); j++) {
@@ -521,9 +529,9 @@ PackedStringArray OpenXRActionMap::get_top_level_paths(Ref<OpenXRAction> p_actio
PackedStringArray paths = binding->get_paths();
for (int k = 0; k < paths.size(); k++) {
- const OpenXRDefs::IOPath *io_path = profile->get_io_path(paths[k]);
+ const OpenXRInteractionProfileMetaData::IOPath *io_path = profile->get_io_path(paths[k]);
if (io_path != nullptr) {
- String top_path = String(io_path->top_level_path->openxr_path);
+ String top_path = io_path->top_level_path;
if (!arr.has(top_path)) {
arr.push_back(top_path);
@@ -535,7 +543,7 @@ PackedStringArray OpenXRActionMap::get_top_level_paths(Ref<OpenXRAction> p_actio
}
}
- print_line("Toplevel paths for", p_action->get_name_with_set(), "are", arr);
+ // print_line("Toplevel paths for", p_action->get_name_with_set(), "are", arr);
return arr;
}
diff --git a/modules/openxr/action_map/openxr_action_map.h b/modules/openxr/action_map/openxr_action_map.h
index 8659cd3942..43a4d741f4 100644
--- a/modules/openxr/action_map/openxr_action_map.h
+++ b/modules/openxr/action_map/openxr_action_map.h
@@ -71,8 +71,8 @@ public:
// Helper functions for editor
Ref<OpenXRAction> get_action(const String p_path) const; // Retrieve an action using <action name>/<action> as our parameter
- void remove_action(const String p_path); // Remove action from action set, also removes it from interaction profiles
- PackedStringArray get_top_level_paths(Ref<OpenXRAction> p_action); // Determines the top level paths based on where an action is bound in interaction profiles
+ void remove_action(const String p_path, bool p_remove_interaction_profiles = false); // Remove action from action set, also removes it from interaction profiles
+ PackedStringArray get_top_level_paths(const Ref<OpenXRAction> p_action); // Determines the top level paths based on where an action is bound in interaction profiles
// TODO add validation to display in the interface that checks if we have action sets with the same name or if we have interaction profiles for the same path
diff --git a/modules/openxr/action_map/openxr_action_set.cpp b/modules/openxr/action_map/openxr_action_set.cpp
index be45218300..f46ac4a5ce 100644
--- a/modules/openxr/action_map/openxr_action_set.cpp
+++ b/modules/openxr/action_map/openxr_action_set.cpp
@@ -62,6 +62,7 @@ Ref<OpenXRActionSet> OpenXRActionSet::new_action_set(const char *p_name, const c
void OpenXRActionSet::set_localized_name(const String p_localized_name) {
localized_name = p_localized_name;
+ emit_changed();
}
String OpenXRActionSet::get_localized_name() const {
@@ -70,6 +71,7 @@ String OpenXRActionSet::get_localized_name() const {
void OpenXRActionSet::set_priority(const int p_priority) {
priority = p_priority;
+ emit_changed();
}
int OpenXRActionSet::get_priority() const {
@@ -82,11 +84,16 @@ int OpenXRActionSet::get_action_count() const {
void OpenXRActionSet::clear_actions() {
// Actions held within our action set should be released and destroyed but just in case they are still used some where else
+ if (actions.size() == 0) {
+ return;
+ }
+
for (int i = 0; i < actions.size(); i++) {
Ref<OpenXRAction> action = actions[i];
action->action_set = nullptr;
}
actions.clear();
+ emit_changed();
}
void OpenXRActionSet::set_actions(Array p_actions) {
@@ -125,6 +132,7 @@ void OpenXRActionSet::add_action(Ref<OpenXRAction> p_action) {
p_action->action_set = this;
actions.push_back(p_action);
+ emit_changed();
}
}
@@ -135,6 +143,8 @@ void OpenXRActionSet::remove_action(Ref<OpenXRAction> p_action) {
ERR_FAIL_COND_MSG(p_action->action_set != this, "Removing action that belongs to this action set but had incorrect action set pointer."); // this should never happen!
p_action->action_set = nullptr;
+
+ emit_changed();
}
}
diff --git a/modules/openxr/action_map/openxr_defs.cpp b/modules/openxr/action_map/openxr_defs.cpp
deleted file mode 100644
index 59ce829f1b..0000000000
--- a/modules/openxr/action_map/openxr_defs.cpp
+++ /dev/null
@@ -1,671 +0,0 @@
-/*************************************************************************/
-/* openxr_defs.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#include "openxr_defs.h"
-
-// Our top level paths to which devices can be bound
-OpenXRDefs::TopLevelPath OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_TOP_LEVEL_PATH_MAX] = {
- // Core OpenXR paths
- { "Left hand controller", "/user/hand/left" },
- { "Right hand controller", "/user/hand/right" },
- { "Head", "/user/head" },
- { "Gamepad", "/user/gamepad" },
- { "Treadmill", "/user/treadmill" },
-
- // Specific to HTC tracker extension
- // { "Handheld object tracker", "/user/vive_tracker_htcx/role/handheld_object" },
- { "Left foot tracker", "/user/vive_tracker_htcx/role/left_foot" },
- { "Right foot tracker", "/user/vive_tracker_htcx/role/right_foot" },
- { "Left shoulder tracker", "/user/vive_tracker_htcx/role/left_shoulder" },
- { "Right shoulder tracker", "/user/vive_tracker_htcx/role/right_shoulder" },
- { "Left elbow tracker", "/user/vive_tracker_htcx/role/left_elbow" },
- { "Right elbow tracker", "/user/vive_tracker_htcx/role/right_elbow" },
- { "Left knee tracker", "/user/vive_tracker_htcx/role/left_knee" },
- { "Right knee tracker", "/user/vive_tracker_htcx/role/right_knee" },
- { "Waist tracker", "/user/vive_tracker_htcx/role/waist" },
- { "Chest tracker", "/user/vive_tracker_htcx/role/chest" },
- { "Camera tracker", "/user/vive_tracker_htcx/role/camera" },
- { "Keyboard tracker", "/user/vive_tracker_htcx/role/keyboard" },
-
-};
-
-// Fallback Khronos simple controller
-OpenXRDefs::IOPath OpenXRDefs::simple_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Select click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/select/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Select click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/select/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Original HTC Vive wands
-OpenXRDefs::IOPath OpenXRDefs::vive_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Microsoft motion controller (original WMR controllers)
-OpenXRDefs::IOPath OpenXRDefs::motion_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// HP MR controller (newer G2 controllers)
-OpenXRDefs::IOPath OpenXRDefs::hpmr_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "X click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/x/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Y click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/y/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Squeeze", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/value", OpenXRAction::OPENXR_ACTION_FLOAT },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Meta touch controller (original touch controllers, Quest 1 and Quest 2 controllers)
-OpenXRDefs::IOPath OpenXRDefs::touch_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "X click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/x/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "X touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/x/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Y click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/y/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Y touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/y/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Squeeze", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/value", OpenXRAction::OPENXR_ACTION_FLOAT },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Valve index controller
-OpenXRDefs::IOPath OpenXRDefs::index_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "A click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/a/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/a/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/b/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/b/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Squeeze", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/value", OpenXRAction::OPENXR_ACTION_FLOAT },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad force", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/force", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad force", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/force", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Samsung odyssey controller
-OpenXRDefs::IOPath OpenXRDefs::odyssey_io_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Vive Cosmos controller
-OpenXRDefs::IOPath OpenXRDefs::vive_cosmos_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "X click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/x/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Y click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/y/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Shoulder click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/right/input/shoulder/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Shoulder click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/shoulder/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Vive Focus 3 controller
-OpenXRDefs::IOPath OpenXRDefs::vive_focus3_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "System click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/system/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "X click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/x/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Y click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/y/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "A click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/a/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "B click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/b/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/touch ", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/squeeze/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/squeeze/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Thumbstick click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Thumbstick touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbstick/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Thumbrest touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/thumbrest/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// Huawei controller
-OpenXRDefs::IOPath OpenXRDefs::huawei_controller_paths[] = {
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Aim pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/aim/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Palm pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/palm_ext/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- { "Home click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/home/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Home click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/home/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Back click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/back/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Back click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/back/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Volume up click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/volume_up/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Volume up click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/volume_up/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Volume down click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/volume_down/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Volume down click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/volume_down/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_LEFT_HAND], "/user/hand/left/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_RIGHT_HAND], "/user/hand/right/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-// HTC Vive tracker
-// Interestingly enough trackers don't have buttons or inputs, yet these are defined in the spec.
-// I think this can be supported through attachments on the trackers.
-OpenXRDefs::IOPath OpenXRDefs::vive_tracker_controller_paths[] = {
- // { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Menu click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/menu/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- // { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
- { "Trigger", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/trigger/value", OpenXRAction::OPENXR_ACTION_FLOAT },
-
- // { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trigger click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/trigger/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- // { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Squeeze click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/squeeze/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- // { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
- { "Trackpad", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/trackpad", OpenXRAction::OPENXR_ACTION_VECTOR2 },
-
- // { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad click", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/trackpad/click", OpenXRAction::OPENXR_ACTION_BOOL },
-
- // { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
- { "Trackpad touch", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/trackpad/touch", OpenXRAction::OPENXR_ACTION_BOOL },
-
- // { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
- { "Grip pose", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/input/grip/pose", OpenXRAction::OPENXR_ACTION_POSE },
-
- // { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_HANDHELD_TRACKER], "/user/vive_tracker_htcx/role/handheld_object/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/left_foot/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_FOOT_TRACKER], "/user/vive_tracker_htcx/role/right_foot/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/left_shoulder/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_SHOULDER_TRACKER], "/user/vive_tracker_htcx/role/right_shoulder/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/left_elbow/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_ELBOW_TRACKER], "/user/vive_tracker_htcx/role/right_elbow/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_LEFT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/left_knee/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_RIGHT_KNEE_TRACKER], "/user/vive_tracker_htcx/role/right_knee/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_WAIST_TRACKER], "/user/vive_tracker_htcx/role/waist/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CHEST_TRACKER], "/user/vive_tracker_htcx/role/chest/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_CAMERA_TRACKER], "/user/vive_tracker_htcx/role/camera/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
- { "Haptic output", &OpenXRDefs::available_top_level_paths[OpenXRDefs::OPENXR_HTC_KEYBOARD_TRACKER], "/user/vive_tracker_htcx/role/keyboard/output/haptic", OpenXRAction::OPENXR_ACTION_HAPTIC },
-};
-
-OpenXRDefs::InteractionProfile OpenXRDefs::available_interaction_profiles[] = {
- {
- "Simple controller", // display_name
- "/interaction_profiles/khr/simple_controller", // openxr_path
- simple_io_paths, // io_paths
- sizeof(simple_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "HTC Vive wand", // display_name
- "/interaction_profiles/htc/vive_controller", // openxr_path
- vive_io_paths, // io_paths
- sizeof(vive_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "MS Motion controller", // display_name
- "/interaction_profiles/microsoft/motion_controller", // openxr_path
- motion_io_paths, // io_paths
- sizeof(motion_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "HPMR controller", // display_name
- "/interaction_profiles/hp/mixed_reality_controller", // openxr_path
- hpmr_io_paths, // io_paths
- sizeof(hpmr_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "Touch controller", // display_name
- "/interaction_profiles/oculus/touch_controller", // openxr_path
- touch_io_paths, // io_paths
- sizeof(touch_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "Index controller", // display_name
- "/interaction_profiles/valve/index_controller", // openxr_path
- index_io_paths, // io_paths
- sizeof(index_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "Samsung Odyssey controller", // display_name
- "/interaction_profiles/samsung/odyssey_controller", // openxr_path
- odyssey_io_paths, // io_paths
- sizeof(odyssey_io_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "Vive Cosmos controller", // display_name
- "/interaction_profiles/htc/vive_cosmos_controller", // openxr_path
- vive_cosmos_paths, // io_paths
- sizeof(vive_cosmos_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "Vive Focus 3 controller", // display_name
- "/interaction_profiles/htc/vive_focus3_controller", // openxr_path
- vive_focus3_paths, // io_paths
- sizeof(vive_focus3_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
- {
- "Huawei controller", // display_name
- "/interaction_profiles/huawei/controller", // openxr_path
- huawei_controller_paths, // io_paths
- sizeof(huawei_controller_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
-
- {
- "HTC Vive tracker", // display_name
- "/interaction_profiles/htc/vive_tracker_htcx", // openxr_path
- vive_tracker_controller_paths, // io_paths
- sizeof(vive_tracker_controller_paths) / sizeof(OpenXRDefs::IOPath) // io_path_count
- },
-};
-
-int OpenXRDefs::available_interaction_profile_count = sizeof(OpenXRDefs::available_interaction_profiles) / sizeof(OpenXRDefs::InteractionProfile);
-
-const OpenXRDefs::TopLevelPath *OpenXRDefs::get_top_level_path(const String p_top_level_path) {
- for (int i = 0; i < OPENXR_TOP_LEVEL_PATH_MAX; i++) {
- if (available_top_level_paths[i].openxr_path == p_top_level_path) {
- return &OpenXRDefs::available_top_level_paths[i];
- }
- }
-
- return nullptr;
-}
-
-const OpenXRDefs::InteractionProfile *OpenXRDefs::get_profile(const String p_interaction_profile_path) {
- for (int i = 0; i < available_interaction_profile_count; i++) {
- if (available_interaction_profiles[i].openxr_path == p_interaction_profile_path) {
- return &available_interaction_profiles[i];
- }
- }
-
- return nullptr;
-}
-
-const OpenXRDefs::IOPath *OpenXRDefs::InteractionProfile::get_io_path(const String p_io_path) const {
- for (int i = 0; i < available_interaction_profiles[i].io_path_count; i++) {
- if (io_paths[i].openxr_path == p_io_path) {
- return &io_paths[i];
- }
- }
-
- return nullptr;
-}
-
-const OpenXRDefs::IOPath *OpenXRDefs::get_io_path(const String p_interaction_profile_path, const String p_io_path) {
- const OpenXRDefs::InteractionProfile *profile = OpenXRDefs::get_profile(p_interaction_profile_path);
- if (profile != nullptr) {
- return profile->get_io_path(p_io_path);
- }
-
- return nullptr;
-}
-
-PackedStringArray OpenXRDefs::get_interaction_profile_paths() {
- PackedStringArray arr;
-
- for (int i = 0; i < available_interaction_profile_count; i++) {
- arr.push_back(available_interaction_profiles[i].openxr_path);
- }
-
- return arr;
-}
diff --git a/modules/openxr/action_map/openxr_defs.h b/modules/openxr/action_map/openxr_defs.h
deleted file mode 100644
index 446e6eb9c6..0000000000
--- a/modules/openxr/action_map/openxr_defs.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*************************************************************************/
-/* openxr_defs.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef OPENXR_DEFS_H
-#define OPENXR_DEFS_H
-
-#include "openxr_action.h"
-
-///////////////////////////////////////////////////////////////////////////
-// Stores available interaction profiles
-//
-// OpenXR defines and hardcodes all the supported input devices and their
-// paths as part of the OpenXR spec. When support for new devices is
-// introduced this often starts life as extensions that need to be enabled
-// until they are adopted into the core. As there is no interface to
-// enumerate the possibly paths, and that any OpenXR runtime would likely
-// limit such enumeration to those input devices supported by that runtime
-// there is no other option than to hardcode this.
-//
-// Note on action type that automatic conversions between boolean and float
-// are supported but otherwise action types should match between action and
-// input/output paths.
-
-class OpenXRDefs {
-public:
- enum TOP_LEVEL_PATH {
- // Core OpenXR toplevel paths
- OPENXR_LEFT_HAND,
- OPENXR_RIGHT_HAND,
- OPENXR_HEAD,
- OPENXR_GAMEPAD,
- OPENXR_TREADMILL,
-
- // HTC tracker extension toplevel paths
- // OPENXR_HTC_HANDHELD_TRACKER,
- OPENXR_HTC_LEFT_FOOT_TRACKER,
- OPENXR_HTC_RIGHT_FOOT_TRACKER,
- OPENXR_HTC_LEFT_SHOULDER_TRACKER,
- OPENXR_HTC_RIGHT_SHOULDER_TRACKER,
- OPENXR_HTC_LEFT_ELBOW_TRACKER,
- OPENXR_HTC_RIGHT_ELBOW_TRACKER,
- OPENXR_HTC_LEFT_KNEE_TRACKER,
- OPENXR_HTC_RIGHT_KNEE_TRACKER,
- OPENXR_HTC_WAIST_TRACKER,
- OPENXR_HTC_CHEST_TRACKER,
- OPENXR_HTC_CAMERA_TRACKER,
- OPENXR_HTC_KEYBOARD_TRACKER,
-
- OPENXR_TOP_LEVEL_PATH_MAX
- };
-
- struct TopLevelPath {
- const char *display_name; // User friendly display name (i.e. Left controller)
- const char *openxr_path; // Path in OpenXR (i.e. /user/hand/left)
- };
-
- struct IOPath {
- const char *display_name; // User friendly display name (i.e. Grip pose (left controller))
- const TopLevelPath *top_level_path; // Top level path identifying the usage of the device in relation to this input/output
- const char *openxr_path; // Path in OpenXR (i.e. /user/hand/left/input/grip/pose)
- const OpenXRAction::ActionType action_type; // Type of input/output
- };
-
- struct InteractionProfile {
- const char *display_name; // User friendly display name (i.e. Simple controller)
- const char *openxr_path; // Path in OpenXR (i.e. /interaction_profiles/khr/simple_controller)
- const IOPath *io_paths; // Inputs and outputs for this device
- const int io_path_count; // Number of inputs and outputs for this device
-
- const IOPath *get_io_path(const String p_io_path) const;
- };
-
-private:
- static TopLevelPath available_top_level_paths[OPENXR_TOP_LEVEL_PATH_MAX];
- static IOPath simple_io_paths[];
- static IOPath vive_io_paths[];
- static IOPath motion_io_paths[];
- static IOPath hpmr_io_paths[];
- static IOPath touch_io_paths[];
- static IOPath index_io_paths[];
- static IOPath odyssey_io_paths[];
- static IOPath vive_cosmos_paths[];
- static IOPath vive_focus3_paths[];
- static IOPath huawei_controller_paths[];
- static IOPath vive_tracker_controller_paths[];
- static InteractionProfile available_interaction_profiles[];
- static int available_interaction_profile_count;
-
-public:
- static const TopLevelPath *get_top_level_path(const String p_top_level_path);
- static const InteractionProfile *get_profile(const String p_interaction_profile_path);
- static const IOPath *get_io_path(const String p_interaction_profile_path, const String p_io_path);
-
- static PackedStringArray get_interaction_profile_paths();
-};
-
-#endif // OPENXR_DEFS_H
diff --git a/modules/openxr/action_map/openxr_interaction_profile.cpp b/modules/openxr/action_map/openxr_interaction_profile.cpp
index abb714c3bb..8bb657a2db 100644
--- a/modules/openxr/action_map/openxr_interaction_profile.cpp
+++ b/modules/openxr/action_map/openxr_interaction_profile.cpp
@@ -58,6 +58,7 @@ Ref<OpenXRIPBinding> OpenXRIPBinding::new_binding(const Ref<OpenXRAction> p_acti
void OpenXRIPBinding::set_action(const Ref<OpenXRAction> p_action) {
action = p_action;
+ emit_changed();
}
Ref<OpenXRAction> OpenXRIPBinding::get_action() const {
@@ -70,6 +71,7 @@ int OpenXRIPBinding::get_path_count() const {
void OpenXRIPBinding::set_paths(const PackedStringArray p_paths) {
paths = p_paths;
+ emit_changed();
}
PackedStringArray OpenXRIPBinding::get_paths() const {
@@ -78,6 +80,7 @@ PackedStringArray OpenXRIPBinding::get_paths() const {
void OpenXRIPBinding::parse_paths(const String p_paths) {
paths = p_paths.split(",", false);
+ emit_changed();
}
bool OpenXRIPBinding::has_path(const String p_path) const {
@@ -87,12 +90,14 @@ bool OpenXRIPBinding::has_path(const String p_path) const {
void OpenXRIPBinding::add_path(const String p_path) {
if (!paths.has(p_path)) {
paths.push_back(p_path);
+ emit_changed();
}
}
void OpenXRIPBinding::remove_path(const String p_path) {
if (paths.has(p_path)) {
paths.erase(p_path);
+ emit_changed();
}
}
@@ -122,6 +127,7 @@ Ref<OpenXRInteractionProfile> OpenXRInteractionProfile::new_profile(const char *
void OpenXRInteractionProfile::set_interaction_profile_path(const String p_input_profile_path) {
interaction_profile_path = p_input_profile_path;
+ emit_changed();
}
String OpenXRInteractionProfile::get_interaction_profile_path() const {
@@ -139,9 +145,10 @@ Ref<OpenXRIPBinding> OpenXRInteractionProfile::get_binding(int p_index) const {
}
void OpenXRInteractionProfile::set_bindings(Array p_bindings) {
- bindings = p_bindings;
-
// TODO add check here that our bindings don't contain duplicate actions
+
+ bindings = p_bindings;
+ emit_changed();
}
Array OpenXRInteractionProfile::get_bindings() const {
@@ -166,6 +173,7 @@ void OpenXRInteractionProfile::add_binding(Ref<OpenXRIPBinding> p_binding) {
ERR_FAIL_COND_MSG(get_binding_for_action(p_binding->get_action()).is_valid(), "There is already a binding for this action in this interaction profile");
bindings.push_back(p_binding);
+ emit_changed();
}
}
@@ -173,6 +181,7 @@ void OpenXRInteractionProfile::remove_binding(Ref<OpenXRIPBinding> p_binding) {
int idx = bindings.find(p_binding);
if (idx != -1) {
bindings.remove_at(idx);
+ emit_changed();
}
}
@@ -192,6 +201,17 @@ void OpenXRInteractionProfile::remove_binding_for_action(const Ref<OpenXRAction>
}
}
+bool OpenXRInteractionProfile::has_binding_for_action(const Ref<OpenXRAction> p_action) {
+ for (int i = bindings.size() - 1; i >= 0; i--) {
+ Ref<OpenXRIPBinding> binding = bindings[i];
+ if (binding->get_action() == p_action) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
OpenXRInteractionProfile::~OpenXRInteractionProfile() {
bindings.clear();
}
diff --git a/modules/openxr/action_map/openxr_interaction_profile.h b/modules/openxr/action_map/openxr_interaction_profile.h
index c77fd490bb..c7db77870e 100644
--- a/modules/openxr/action_map/openxr_interaction_profile.h
+++ b/modules/openxr/action_map/openxr_interaction_profile.h
@@ -34,7 +34,7 @@
#include "core/io/resource.h"
#include "openxr_action.h"
-#include "openxr_defs.h"
+#include "openxr_interaction_profile_meta_data.h"
class OpenXRIPBinding : public Resource {
GDCLASS(OpenXRIPBinding, Resource);
@@ -94,6 +94,7 @@ public:
void add_new_binding(const Ref<OpenXRAction> p_action, const char *p_paths); // Create a new binding for this profile
void remove_binding_for_action(const Ref<OpenXRAction> p_action); // Remove all bindings for this action
+ bool has_binding_for_action(const Ref<OpenXRAction> p_action); // Returns true if we have a binding for this action
~OpenXRInteractionProfile();
};
diff --git a/modules/openxr/action_map/openxr_interaction_profile_meta_data.cpp b/modules/openxr/action_map/openxr_interaction_profile_meta_data.cpp
new file mode 100644
index 0000000000..db4062b196
--- /dev/null
+++ b/modules/openxr/action_map/openxr_interaction_profile_meta_data.cpp
@@ -0,0 +1,713 @@
+/*************************************************************************/
+/* openxr_interaction_profile_meta_data.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "openxr_interaction_profile_meta_data.h"
+
+#include <openxr/openxr.h>
+
+OpenXRInteractionProfileMetaData *OpenXRInteractionProfileMetaData::singleton = nullptr;
+
+OpenXRInteractionProfileMetaData::OpenXRInteractionProfileMetaData() {
+ singleton = this;
+
+ _register_core_metadata();
+}
+
+OpenXRInteractionProfileMetaData::~OpenXRInteractionProfileMetaData() {
+ singleton = nullptr;
+}
+
+void OpenXRInteractionProfileMetaData::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("register_top_level_path", "display_name", "openxr_path", "openxr_extension_name"), &OpenXRInteractionProfileMetaData::register_top_level_path);
+ ClassDB::bind_method(D_METHOD("register_interaction_profile", "display_name", "openxr_path", "openxr_extension_name"), &OpenXRInteractionProfileMetaData::register_interaction_profile);
+ ClassDB::bind_method(D_METHOD("register_io_path", "interaction_profile", "display_name", "toplevel_path", "openxr_path", "openxr_extension_name", "action_type"), &OpenXRInteractionProfileMetaData::register_io_path);
+}
+
+void OpenXRInteractionProfileMetaData::register_top_level_path(const String &p_display_name, const String &p_openxr_path, const String &p_openxr_extension_name) {
+ ERR_FAIL_COND_MSG(has_top_level_path(p_openxr_path), p_openxr_path + " had already been registered");
+
+ TopLevelPath new_toplevel_path = {
+ p_display_name,
+ p_openxr_path,
+ p_openxr_extension_name
+ };
+
+ top_level_paths.push_back(new_toplevel_path);
+}
+
+void OpenXRInteractionProfileMetaData::register_interaction_profile(const String &p_display_name, const String &p_openxr_path, const String &p_openxr_extension_name) {
+ ERR_FAIL_COND_MSG(has_interaction_profile(p_openxr_path), p_openxr_path + " has already been registered");
+
+ InteractionProfile new_profile;
+ new_profile.display_name = p_display_name;
+ new_profile.openxr_path = p_openxr_path;
+ new_profile.openxr_extension_name = p_openxr_extension_name;
+
+ interaction_profiles.push_back(new_profile);
+}
+
+void OpenXRInteractionProfileMetaData::register_io_path(const String &p_interaction_profile, const String &p_display_name, const String &p_toplevel_path, const String &p_openxr_path, const String &p_openxr_extension_name, OpenXRAction::ActionType p_action_type) {
+ ERR_FAIL_COND_MSG(!has_interaction_profile(p_interaction_profile), "Unknown interaction profile " + p_interaction_profile);
+ ERR_FAIL_COND_MSG(!has_top_level_path(p_toplevel_path), "Unknown top level path " + p_toplevel_path);
+
+ for (int i = 0; i < interaction_profiles.size(); i++) {
+ if (interaction_profiles[i].openxr_path == p_interaction_profile) {
+ ERR_FAIL_COND_MSG(interaction_profiles[i].has_io_path(p_openxr_path), p_interaction_profile + " already has io path " + p_openxr_path + " registered!");
+
+ IOPath new_io_path = {
+ p_display_name,
+ p_toplevel_path,
+ p_openxr_path,
+ p_openxr_extension_name,
+ p_action_type
+ };
+
+ interaction_profiles.ptrw()[i].io_paths.push_back(new_io_path);
+ }
+ }
+}
+
+bool OpenXRInteractionProfileMetaData::has_top_level_path(const String p_openxr_path) const {
+ for (int i = 0; i < top_level_paths.size(); i++) {
+ if (top_level_paths[i].openxr_path == p_openxr_path) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+String OpenXRInteractionProfileMetaData::get_top_level_name(const String p_openxr_path) const {
+ for (int i = 0; i < top_level_paths.size(); i++) {
+ if (top_level_paths[i].openxr_path == p_openxr_path) {
+ return top_level_paths[i].display_name;
+ }
+ }
+
+ return String();
+}
+
+String OpenXRInteractionProfileMetaData::get_top_level_extension(const String p_openxr_path) const {
+ for (int i = 0; i < top_level_paths.size(); i++) {
+ if (top_level_paths[i].openxr_path == p_openxr_path) {
+ return top_level_paths[i].openxr_extension_name;
+ }
+ }
+
+ return XR_PATH_UNSUPPORTED_NAME;
+}
+
+bool OpenXRInteractionProfileMetaData::has_interaction_profile(const String p_openxr_path) const {
+ for (int i = 0; i < interaction_profiles.size(); i++) {
+ if (interaction_profiles[i].openxr_path == p_openxr_path) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+String OpenXRInteractionProfileMetaData::get_interaction_profile_extension(const String p_openxr_path) const {
+ for (int i = 0; i < interaction_profiles.size(); i++) {
+ if (interaction_profiles[i].openxr_path == p_openxr_path) {
+ return interaction_profiles[i].openxr_extension_name;
+ }
+ }
+
+ return XR_PATH_UNSUPPORTED_NAME;
+}
+
+const OpenXRInteractionProfileMetaData::InteractionProfile *OpenXRInteractionProfileMetaData::get_profile(const String p_openxr_path) const {
+ for (int i = 0; i < interaction_profiles.size(); i++) {
+ if (interaction_profiles[i].openxr_path == p_openxr_path) {
+ return &interaction_profiles[i];
+ }
+ }
+
+ return nullptr;
+}
+
+bool OpenXRInteractionProfileMetaData::InteractionProfile::has_io_path(const String p_io_path) const {
+ for (int i = 0; i < io_paths.size(); i++) {
+ if (io_paths[i].openxr_path == p_io_path) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+const OpenXRInteractionProfileMetaData::IOPath *OpenXRInteractionProfileMetaData::InteractionProfile::get_io_path(const String p_io_path) const {
+ for (int i = 0; i < io_paths.size(); i++) {
+ if (io_paths[i].openxr_path == p_io_path) {
+ return &io_paths[i];
+ }
+ }
+
+ return nullptr;
+}
+
+const OpenXRInteractionProfileMetaData::IOPath *OpenXRInteractionProfileMetaData::get_io_path(const String p_interaction_profile, const String p_io_path) const {
+ const OpenXRInteractionProfileMetaData::InteractionProfile *profile = get_profile(p_interaction_profile);
+ if (profile != nullptr) {
+ return profile->get_io_path(p_io_path);
+ }
+
+ return nullptr;
+}
+
+PackedStringArray OpenXRInteractionProfileMetaData::get_interaction_profile_paths() const {
+ PackedStringArray arr;
+
+ for (int i = 0; i < interaction_profiles.size(); i++) {
+ arr.push_back(interaction_profiles[i].openxr_path);
+ }
+
+ return arr;
+}
+
+void OpenXRInteractionProfileMetaData::_register_core_metadata() {
+ // Note, currently we add definitions that belong in extensions.
+ // Extensions are registered when our OpenXRAPI is instantiated
+ // however this does not happen in the editor.
+ // We are changing this in another PR, once that is accepted we
+ // can make the changes to move code into extensions where needed.
+
+ // Note that we'll make an exception for XR_EXT_palm_pose, which is used everywhere
+
+ // Our core toplevel paths
+ register_top_level_path("Left hand controller", "/user/hand/left", "");
+ register_top_level_path("Right hand controller", "/user/hand/right", "");
+ register_top_level_path("Head", "/user/head", "");
+ register_top_level_path("Gamepad", "/user/gamepad", "");
+ register_top_level_path("Treadmill", "/user/treadmill", "");
+
+ // TODO move this into OpenXRHTCViveTrackerExtension once this is supported.
+ // register_top_level_path("Handheld object tracker", "/user/vive_tracker_htcx/role/handheld_object", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Left foot tracker", "/user/vive_tracker_htcx/role/left_foot", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Right foot tracker", "/user/vive_tracker_htcx/role/right_foot", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Left shoulder tracker", "/user/vive_tracker_htcx/role/left_shoulder", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Right shoulder tracker", "/user/vive_tracker_htcx/role/right_shoulder", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Left elbow tracker", "/user/vive_tracker_htcx/role/left_elbow", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Right elbow tracker", "/user/vive_tracker_htcx/role/right_elbow", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Left knee tracker", "/user/vive_tracker_htcx/role/left_knee", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Right knee tracker", "/user/vive_tracker_htcx/role/right_knee", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Waist tracker", "/user/vive_tracker_htcx/role/waist", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Chest tracker", "/user/vive_tracker_htcx/role/chest", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Camera tracker", "/user/vive_tracker_htcx/role/camera", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_top_level_path("Keyboard tracker", "/user/vive_tracker_htcx/role/keyboard", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+
+ // Fallback Khronos simple controller
+ register_interaction_profile("Simple controller", "/interaction_profiles/khr/simple_controller", "");
+ register_io_path("/interaction_profiles/khr/simple_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/khr/simple_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Menu click", "/user/hand/right", "/user/hand/right/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Select click", "/user/hand/left", "/user/hand/left/input/select/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Select click", "/user/hand/right", "/user/hand/right/input/select/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/khr/simple_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/khr/simple_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // Original HTC Vive wands
+ register_interaction_profile("HTC Vive wand", "/interaction_profiles/htc/vive_controller", "");
+ register_io_path("/interaction_profiles/htc/vive_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/htc/vive_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Menu click", "/user/hand/right", "/user/hand/right/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "System click", "/user/hand/left", "/user/hand/left/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "System click", "/user/hand/right", "/user/hand/right/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_controller", "Squeeze click", "/user/hand/left", "/user/hand/left/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Squeeze click", "/user/hand/right", "/user/hand/right/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trackpad", "/user/hand/left", "/user/hand/left/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trackpad click", "/user/hand/left", "/user/hand/left/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trackpad touch", "/user/hand/left", "/user/hand/left/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trackpad", "/user/hand/right", "/user/hand/right/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trackpad click", "/user/hand/right", "/user/hand/right/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Trackpad touch", "/user/hand/right", "/user/hand/right/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // Microsoft motion controller (original WMR controllers)
+ register_interaction_profile("MS Motion controller", "/interaction_profiles/microsoft/motion_controller", "");
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Menu click", "/user/hand/right", "/user/hand/right/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Squeeze click", "/user/hand/left", "/user/hand/left/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Squeeze click", "/user/hand/right", "/user/hand/right/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trackpad", "/user/hand/left", "/user/hand/left/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trackpad click", "/user/hand/left", "/user/hand/left/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trackpad touch", "/user/hand/left", "/user/hand/left/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trackpad", "/user/hand/right", "/user/hand/right/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trackpad click", "/user/hand/right", "/user/hand/right/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Trackpad touch", "/user/hand/right", "/user/hand/right/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/microsoft/motion_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // Meta touch controller (original touch controllers, Quest 1 and Quest 2 controllers)
+ register_interaction_profile("Touch controller", "/interaction_profiles/oculus/touch_controller", "");
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "System click", "/user/hand/right", "/user/hand/right/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/oculus/touch_controller", "X click", "/user/hand/left", "/user/hand/left/input/x/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "X touch", "/user/hand/left", "/user/hand/left/input/x/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Y click", "/user/hand/left", "/user/hand/left/input/y/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Y touch", "/user/hand/left", "/user/hand/left/input/y/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "A click", "/user/hand/right", "/user/hand/right/input/a/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "A touch", "/user/hand/right", "/user/hand/right/input/a/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "B click", "/user/hand/right", "/user/hand/right/input/b/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "B touch", "/user/hand/right", "/user/hand/right/input/b/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Trigger touch", "/user/hand/left", "/user/hand/left/input/trigger/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Trigger touch", "/user/hand/right", "/user/hand/right/input/trigger/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Squeeze", "/user/hand/left", "/user/hand/left/input/squeeze/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Squeeze", "/user/hand/right", "/user/hand/right/input/squeeze/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Thumbstick touch", "/user/hand/left", "/user/hand/left/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Thumbstick touch", "/user/hand/right", "/user/hand/right/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/oculus/touch_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // Valve Index controller
+ register_interaction_profile("Index controller", "/interaction_profiles/valve/index_controller", "");
+ register_io_path("/interaction_profiles/valve/index_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/valve/index_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/valve/index_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/valve/index_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/valve/index_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/valve/index_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "System click", "/user/hand/left", "/user/hand/left/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "System click", "/user/hand/right", "/user/hand/right/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "A click", "/user/hand/left", "/user/hand/left/input/a/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "A touch", "/user/hand/left", "/user/hand/left/input/a/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "A click", "/user/hand/right", "/user/hand/right/input/a/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "A touch", "/user/hand/right", "/user/hand/right/input/a/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "B click", "/user/hand/left", "/user/hand/left/input/b/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "B touch", "/user/hand/left", "/user/hand/left/input/b/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "B click", "/user/hand/right", "/user/hand/right/input/b/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "B touch", "/user/hand/right", "/user/hand/right/input/b/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trigger touch", "/user/hand/left", "/user/hand/left/input/trigger/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trigger touch", "/user/hand/right", "/user/hand/right/input/trigger/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "Squeeze", "/user/hand/left", "/user/hand/left/input/squeeze/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/valve/index_controller", "Squeeze", "/user/hand/right", "/user/hand/right/input/squeeze/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/valve/index_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Thumbstick touch", "/user/hand/left", "/user/hand/left/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/valve/index_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Thumbstick touch", "/user/hand/right", "/user/hand/right/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "Trackpad", "/user/hand/left", "/user/hand/left/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trackpad force", "/user/hand/left", "/user/hand/left/input/trackpad/force", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trackpad touch", "/user/hand/left", "/user/hand/left/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trackpad", "/user/hand/right", "/user/hand/right/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trackpad force", "/user/hand/right", "/user/hand/right/input/trackpad/force", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/valve/index_controller", "Trackpad touch", "/user/hand/right", "/user/hand/right/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/valve/index_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/valve/index_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // HP MR controller (newer G2 controllers)
+ // TODO move this into an extension once this is supported.
+ register_interaction_profile("HPMR controller", "/interaction_profiles/hp/mixed_reality_controller", XR_EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Menu click", "/user/hand/right", "/user/hand/right/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "X click", "/user/hand/left", "/user/hand/left/input/x/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Y click", "/user/hand/left", "/user/hand/left/input/y/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "A click", "/user/hand/right", "/user/hand/right/input/a/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "B click", "/user/hand/right", "/user/hand/right/input/b/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Squeeze", "/user/hand/left", "/user/hand/left/input/squeeze/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Squeeze", "/user/hand/right", "/user/hand/right/input/squeeze/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/hp/mixed_reality_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // Samsung Odyssey controller
+ // TODO move this into an extension once this is supported.
+ register_interaction_profile("Samsung Odyssey controller", "/interaction_profiles/samsung/odyssey_controller", XR_EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Menu click", "/user/hand/right", "/user/hand/right/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Squeeze click", "/user/hand/left", "/user/hand/left/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Squeeze click", "/user/hand/right", "/user/hand/right/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trackpad", "/user/hand/left", "/user/hand/left/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trackpad click", "/user/hand/left", "/user/hand/left/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trackpad touch", "/user/hand/left", "/user/hand/left/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trackpad", "/user/hand/right", "/user/hand/right/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trackpad click", "/user/hand/right", "/user/hand/right/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Trackpad touch", "/user/hand/right", "/user/hand/right/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/samsung/odyssey_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // HTC Vive Cosmos controller
+ // TODO move this into an extension once this is supported.
+ register_interaction_profile("Vive Cosmos controller", "/interaction_profiles/htc/vive_cosmos_controller", XR_HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "System click", "/user/hand/right", "/user/hand/right/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "X click", "/user/hand/left", "/user/hand/left/input/x/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Y click", "/user/hand/left", "/user/hand/left/input/y/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "A click", "/user/hand/right", "/user/hand/right/input/a/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "B click", "/user/hand/right", "/user/hand/right/input/b/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Shoulder click", "/user/hand/left", "/user/hand/left/input/shoulder/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Shoulder click", "/user/hand/right", "/user/hand/right/input/shoulder/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Squeeze click", "/user/hand/left", "/user/hand/left/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Squeeze click", "/user/hand/right", "/user/hand/right/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Thumbstick touch", "/user/hand/left", "/user/hand/left/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Thumbstick touch", "/user/hand/right", "/user/hand/right/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_cosmos_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // HTC Vive Focus 3 controller
+ // TODO move this into an extension once this is supported.
+ register_interaction_profile("Vive Focus 3 controller", "/interaction_profiles/htc/vive_focus3_controller", XR_HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION_EXTENSION_NAME);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Menu click", "/user/hand/left", "/user/hand/left/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "System click", "/user/hand/right", "/user/hand/right/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "X click", "/user/hand/left", "/user/hand/left/input/x/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Y click", "/user/hand/left", "/user/hand/left/input/y/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "A click", "/user/hand/right", "/user/hand/right/input/a/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "B click", "/user/hand/right", "/user/hand/right/input/b/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Trigger touch", "/user/hand/left", "/user/hand/left/input/trigger/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Trigger touch", "/user/hand/right", "/user/hand/right/input/trigger/touch ", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Squeeze click", "/user/hand/left", "/user/hand/left/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Squeeze touch", "/user/hand/left", "/user/hand/left/input/squeeze/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Squeeze click", "/user/hand/right", "/user/hand/right/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Squeeze touch", "/user/hand/right", "/user/hand/right/input/squeeze/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbstick", "/user/hand/left", "/user/hand/left/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbstick click", "/user/hand/left", "/user/hand/left/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbstick touch", "/user/hand/left", "/user/hand/left/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbstick", "/user/hand/right", "/user/hand/right/input/thumbstick", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbstick click", "/user/hand/right", "/user/hand/right/input/thumbstick/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbstick touch", "/user/hand/right", "/user/hand/right/input/thumbstick/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Thumbrest touch", "/user/hand/right", "/user/hand/right/input/thumbrest/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_focus3_controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // Huawei controller
+ // TODO move this into an extension once this is supported.
+ register_interaction_profile("Huawei controller", "/interaction_profiles/huawei/controller", XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME);
+ register_io_path("/interaction_profiles/huawei/controller", "Grip pose", "/user/hand/left", "/user/hand/left/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/huawei/controller", "Grip pose", "/user/hand/right", "/user/hand/right/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/huawei/controller", "Aim pose", "/user/hand/left", "/user/hand/left/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/huawei/controller", "Aim pose", "/user/hand/right", "/user/hand/right/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/huawei/controller", "Palm pose", "/user/hand/left", "/user/hand/left/input/palm_ext/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/huawei/controller", "Palm pose", "/user/hand/right", "/user/hand/right/input/palm_ext/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+
+ register_io_path("/interaction_profiles/huawei/controller", "Home click", "/user/hand/left", "/user/hand/left/input/home/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Home click", "/user/hand/right", "/user/hand/right/input/home/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Back click", "/user/hand/left", "/user/hand/left/input/back/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Back click", "/user/hand/right", "/user/hand/right/input/back/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/huawei/controller", "Volume up click", "/user/hand/left", "/user/hand/left/input/volume_up/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Volume up click", "/user/hand/right", "/user/hand/right/input/volume_up/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Volume down click", "/user/hand/left", "/user/hand/left/input/volume_down/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Volume down click", "/user/hand/right", "/user/hand/right/input/volume_down/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/huawei/controller", "Trigger", "/user/hand/left", "/user/hand/left/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/huawei/controller", "Trigger click", "/user/hand/left", "/user/hand/left/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Trigger", "/user/hand/right", "/user/hand/right/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/huawei/controller", "Trigger click", "/user/hand/right", "/user/hand/right/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/huawei/controller", "Trackpad", "/user/hand/left", "/user/hand/left/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/huawei/controller", "Trackpad click", "/user/hand/left", "/user/hand/left/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Trackpad touch", "/user/hand/left", "/user/hand/left/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Trackpad", "/user/hand/right", "/user/hand/right/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/huawei/controller", "Trackpad click", "/user/hand/right", "/user/hand/right/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/huawei/controller", "Trackpad touch", "/user/hand/right", "/user/hand/right/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ register_io_path("/interaction_profiles/huawei/controller", "Haptic output", "/user/hand/left", "/user/hand/left/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/huawei/controller", "Haptic output", "/user/hand/right", "/user/hand/right/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+
+ // HTC Vive tracker
+ // Interestingly enough trackers don't have buttons or inputs, yet these are defined in the spec.
+ // I think this can be supported through attachments on the trackers.
+ // TODO move this into an extension once this is supported.
+ register_interaction_profile("HTC Vive tracker", "/interaction_profiles/htc/vive_tracker_htcx", XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Menu click", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/menu/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/trigger/value", "", OpenXRAction::OPENXR_ACTION_FLOAT);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trigger click", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/trigger/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Squeeze click", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/squeeze/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/trackpad", "", OpenXRAction::OPENXR_ACTION_VECTOR2);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad click", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/trackpad/click", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Trackpad touch", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/trackpad/touch", "", OpenXRAction::OPENXR_ACTION_BOOL);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Grip pose", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE);
+
+ // register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/handheld_object", "/user/vive_tracker_htcx/role/handheld_object/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/left_foot/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/right_foot/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/left_shoulder/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/right_shoulder/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/left_elbow/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/right_elbow/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/left_knee/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/right_knee/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/waist/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/chest/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/camera/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ register_io_path("/interaction_profiles/htc/vive_tracker_htcx", "Haptic output", "/user/vive_tracker_htcx/role/keyboard", "/user/vive_tracker_htcx/role/keyboard/output/haptic", "", OpenXRAction::OPENXR_ACTION_HAPTIC);
+}
diff --git a/modules/openxr/action_map/openxr_interaction_profile_meta_data.h b/modules/openxr/action_map/openxr_interaction_profile_meta_data.h
new file mode 100644
index 0000000000..0ae6454be7
--- /dev/null
+++ b/modules/openxr/action_map/openxr_interaction_profile_meta_data.h
@@ -0,0 +1,118 @@
+/*************************************************************************/
+/* openxr_interaction_profile_meta_data.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef OPENXR_INTERACTION_PROFILE_META_DATA_H
+#define OPENXR_INTERACTION_PROFILE_META_DATA_H
+
+#include "openxr_action.h"
+
+///////////////////////////////////////////////////////////////////////////
+// Stores available interaction profile meta data
+//
+// OpenXR defines and hardcodes all the supported input devices and their
+// paths as part of the OpenXR spec. When support for new devices is
+// introduced this often starts life as an extension that needs to be enabled
+// until it's adopted into the core. As there is no interface to
+// enumerate the possibly paths, and that any OpenXR runtime would likely
+// limit such enumeration to those input devices supported by that runtime
+// there is no other option than to hardcode this.
+//
+// Note that we need to include paths of our extensions in our action map
+// regardless of whether the developers machine supports the extension or
+// not. Unsupported paths are filtered out when the action map is submitted
+// to the OpenXR runtime.
+//
+// Note on action type that automatic conversions between boolean and float
+// are supported but otherwise action types should match between action and
+// input/output paths.
+
+#include "core/object/object.h"
+
+#define XR_PATH_UNSUPPORTED_NAME "unsupported"
+
+class OpenXRInteractionProfileMetaData : public Object {
+public:
+ struct TopLevelPath {
+ String display_name; // User friendly display name (i.e. Left controller)
+ String openxr_path; // Path in OpenXR (i.e. /user/hand/left)
+ String openxr_extension_name; // If set, only available if extension is enabled (i.e. XR_HTCX_vive_tracker_interaction)
+ };
+
+ struct IOPath {
+ String display_name; // User friendly display name (i.e. Grip pose (left controller))
+ String top_level_path; // Top level path identifying the usage of the device in relation to this input/output
+ String openxr_path; // Path in OpenXR (i.e. /user/hand/left/input/grip/pose)
+ String openxr_extension_name; // If set, only available if extension is enabled (i.e. XR_EXT_palm_pose)
+ OpenXRAction::ActionType action_type; // Type of input/output
+ };
+
+ struct InteractionProfile {
+ String display_name; // User friendly display name (i.e. Simple controller)
+ String openxr_path; // Path in OpenXR (i.e. /interaction_profiles/khr/simple_controller)
+ String openxr_extension_name; // If set, only available if extension is enabled (i.e. XR_HTCX_vive_tracker_interaction)
+ Vector<IOPath> io_paths; // Inputs and outputs for this device
+
+ bool has_io_path(const String p_io_path) const;
+ const IOPath *get_io_path(const String p_io_path) const;
+ };
+
+private:
+ static OpenXRInteractionProfileMetaData *singleton;
+
+ Vector<TopLevelPath> top_level_paths;
+ Vector<InteractionProfile> interaction_profiles;
+
+ void _register_core_metadata();
+
+protected:
+ static void _bind_methods();
+
+public:
+ static OpenXRInteractionProfileMetaData *get_singleton() { return singleton; }
+
+ OpenXRInteractionProfileMetaData();
+ ~OpenXRInteractionProfileMetaData();
+
+ void register_top_level_path(const String &p_display_name, const String &p_openxr_path, const String &p_openxr_extension_name);
+ bool has_top_level_path(const String p_openxr_path) const;
+ String get_top_level_name(const String p_openxr_path) const;
+ String get_top_level_extension(const String p_openxr_path) const;
+
+ void register_interaction_profile(const String &p_display_name, const String &p_openxr_path, const String &p_openxr_extension_name);
+ bool has_interaction_profile(const String p_openxr_path) const;
+ String get_interaction_profile_extension(const String p_openxr_path) const;
+ const InteractionProfile *get_profile(const String p_openxr_path) const;
+ PackedStringArray get_interaction_profile_paths() const;
+
+ void register_io_path(const String &p_interaction_profile, const String &p_display_name, const String &p_toplevel_path, const String &p_openxr_path, const String &p_openxr_extension_name, OpenXRAction::ActionType p_action_type);
+ const IOPath *get_io_path(const String p_interaction_profile, const String p_io_path) const;
+};
+
+#endif // OPENXR_INTERACTION_PROFILE_META_DATA_H
diff --git a/modules/openxr/editor/openxr_action_editor.cpp b/modules/openxr/editor/openxr_action_editor.cpp
index 52216fa483..a6c99741d7 100644
--- a/modules/openxr/editor/openxr_action_editor.cpp
+++ b/modules/openxr/editor/openxr_action_editor.cpp
@@ -29,8 +29,13 @@
/*************************************************************************/
#include "openxr_action_editor.h"
+#include "editor/editor_node.h"
void OpenXRActionEditor::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("_do_set_name", "name"), &OpenXRActionEditor::_do_set_name);
+ ClassDB::bind_method(D_METHOD("_do_set_localized_name", "name"), &OpenXRActionEditor::_do_set_localized_name);
+ ClassDB::bind_method(D_METHOD("_do_set_action_type", "type"), &OpenXRActionEditor::_do_set_action_type);
+
ADD_SIGNAL(MethodInfo("remove", PropertyInfo(Variant::OBJECT, "action_editor")));
}
@@ -48,24 +53,71 @@ void OpenXRActionEditor::_notification(int p_what) {
}
void OpenXRActionEditor::_on_action_name_changed(const String p_new_text) {
- // TODO validate if entry is allowed
-
- // If our localized name matches our action name, set this too
- if (action->get_name() == action->get_localized_name()) {
- action->set_localized_name(p_new_text);
- action_localized_name->set_text(p_new_text);
+ if (action->get_name() != p_new_text) {
+ undo_redo->create_action(TTR("Rename Action"));
+ undo_redo->add_do_method(this, "_do_set_name", p_new_text);
+ undo_redo->add_undo_method(this, "_do_set_name", action->get_name());
+ undo_redo->commit_action(false);
+
+ // If our localized name matches our action name, set this too
+ if (action->get_name() == action->get_localized_name()) {
+ undo_redo->create_action(TTR("Rename Actions Localized name"));
+ undo_redo->add_do_method(this, "_do_set_localized_name", p_new_text);
+ undo_redo->add_undo_method(this, "_do_set_localized_name", action->get_localized_name());
+ undo_redo->commit_action(false);
+
+ action->set_localized_name(p_new_text);
+ action_localized_name->set_text(p_new_text);
+ }
+ action->set_name(p_new_text);
+ action->set_edited(true);
}
+}
+
+void OpenXRActionEditor::_do_set_name(const String p_new_text) {
action->set_name(p_new_text);
+ action->set_edited(true);
+ action_name->set_text(p_new_text);
}
void OpenXRActionEditor::_on_action_localized_name_changed(const String p_new_text) {
+ if (action->get_localized_name() != p_new_text) {
+ undo_redo->create_action(TTR("Rename Actions Localized name"));
+ undo_redo->add_do_method(this, "_do_set_localized_name", p_new_text);
+ undo_redo->add_undo_method(this, "_do_set_localized_name", action->get_localized_name());
+ undo_redo->commit_action(false);
+
+ action->set_localized_name(p_new_text);
+ action->set_edited(true);
+ }
+}
+
+void OpenXRActionEditor::_do_set_localized_name(const String p_new_text) {
action->set_localized_name(p_new_text);
+ action->set_edited(true);
+ action_localized_name->set_text(p_new_text);
}
void OpenXRActionEditor::_on_item_selected(int p_idx) {
ERR_FAIL_INDEX(p_idx, OpenXRAction::OPENXR_ACTION_MAX);
- action->set_action_type(OpenXRAction::ActionType(p_idx));
+ OpenXRAction::ActionType action_type = OpenXRAction::ActionType(p_idx);
+
+ if (action->get_action_type() != action_type) {
+ undo_redo->create_action(TTR("Change Action Type"));
+ undo_redo->add_do_method(this, "_do_set_action_type", action_type);
+ undo_redo->add_undo_method(this, "_do_set_action_type", action->get_action_type());
+ undo_redo->commit_action(false);
+
+ action->set_action_type(action_type);
+ action->set_edited(true);
+ }
+}
+
+void OpenXRActionEditor::_do_set_action_type(OpenXRAction::ActionType p_action_type) {
+ action->set_action_type(p_action_type);
+ action->set_edited(true);
+ action_type_button->select(int(action->get_action_type()));
}
void OpenXRActionEditor::_on_remove_action() {
@@ -73,6 +125,7 @@ void OpenXRActionEditor::_on_remove_action() {
}
OpenXRActionEditor::OpenXRActionEditor(Ref<OpenXRAction> p_action) {
+ undo_redo = EditorNode::get_undo_redo();
action = p_action;
set_h_size_flags(Control::SIZE_EXPAND_FILL);
@@ -90,16 +143,16 @@ OpenXRActionEditor::OpenXRActionEditor(Ref<OpenXRAction> p_action) {
action_localized_name->connect("text_changed", callable_mp(this, &OpenXRActionEditor::_on_action_localized_name_changed));
add_child(action_localized_name);
- action_type = memnew(OptionButton);
- action_type->add_item("Bool", OpenXRAction::OPENXR_ACTION_BOOL);
- action_type->add_item("Float", OpenXRAction::OPENXR_ACTION_FLOAT);
- action_type->add_item("Vector2", OpenXRAction::OPENXR_ACTION_VECTOR2);
- action_type->add_item("Pose", OpenXRAction::OPENXR_ACTION_POSE);
- action_type->add_item("Haptic", OpenXRAction::OPENXR_ACTION_HAPTIC);
- action_type->select(int(action->get_action_type()));
- action_type->set_custom_minimum_size(Size2(100.0, 0.0));
- action_type->connect("item_selected", callable_mp(this, &OpenXRActionEditor::_on_item_selected));
- add_child(action_type);
+ action_type_button = memnew(OptionButton);
+ action_type_button->add_item("Bool", OpenXRAction::OPENXR_ACTION_BOOL);
+ action_type_button->add_item("Float", OpenXRAction::OPENXR_ACTION_FLOAT);
+ action_type_button->add_item("Vector2", OpenXRAction::OPENXR_ACTION_VECTOR2);
+ action_type_button->add_item("Pose", OpenXRAction::OPENXR_ACTION_POSE);
+ action_type_button->add_item("Haptic", OpenXRAction::OPENXR_ACTION_HAPTIC);
+ action_type_button->select(int(action->get_action_type()));
+ action_type_button->set_custom_minimum_size(Size2(100.0, 0.0));
+ action_type_button->connect("item_selected", callable_mp(this, &OpenXRActionEditor::_on_item_selected));
+ add_child(action_type_button);
// maybe add dropdown to edit our toplevel paths, or do we deduce them from our suggested bindings?
diff --git a/modules/openxr/editor/openxr_action_editor.h b/modules/openxr/editor/openxr_action_editor.h
index 6cf098cf08..66b7eebaeb 100644
--- a/modules/openxr/editor/openxr_action_editor.h
+++ b/modules/openxr/editor/openxr_action_editor.h
@@ -32,6 +32,7 @@
#define OPENXR_ACTION_EDITOR_H
#include "../action_map/openxr_action.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
#include "scene/gui/line_edit.h"
@@ -42,11 +43,12 @@ class OpenXRActionEditor : public HBoxContainer {
GDCLASS(OpenXRActionEditor, HBoxContainer);
private:
+ Ref<EditorUndoRedoManager> undo_redo;
Ref<OpenXRAction> action;
LineEdit *action_name = nullptr;
LineEdit *action_localized_name = nullptr;
- OptionButton *action_type = nullptr;
+ OptionButton *action_type_button = nullptr;
Button *rem_action = nullptr;
void _theme_changed();
@@ -59,6 +61,11 @@ protected:
static void _bind_methods();
void _notification(int p_what);
+ // used for undo/redo
+ void _do_set_name(const String p_new_text);
+ void _do_set_localized_name(const String p_new_text);
+ void _do_set_action_type(OpenXRAction::ActionType p_action_type);
+
public:
Ref<OpenXRAction> get_action() { return action; };
OpenXRActionEditor(Ref<OpenXRAction> p_action);
diff --git a/modules/openxr/editor/openxr_action_map_editor.cpp b/modules/openxr/editor/openxr_action_map_editor.cpp
index b5223e5903..a2c33a91c4 100644
--- a/modules/openxr/editor/openxr_action_map_editor.cpp
+++ b/modules/openxr/editor/openxr_action_map_editor.cpp
@@ -40,14 +40,16 @@
void OpenXRActionMapEditor::_bind_methods() {
ClassDB::bind_method("_add_action_set_editor", &OpenXRActionMapEditor::_add_action_set_editor);
- ClassDB::bind_method("_update_action_sets", &OpenXRActionMapEditor::_update_action_sets);
-
ClassDB::bind_method("_add_interaction_profile_editor", &OpenXRActionMapEditor::_add_interaction_profile_editor);
- ClassDB::bind_method("_update_interaction_profiles", &OpenXRActionMapEditor::_update_interaction_profiles);
ClassDB::bind_method(D_METHOD("_add_action_set", "name"), &OpenXRActionMapEditor::_add_action_set);
ClassDB::bind_method(D_METHOD("_set_focus_on_action_set", "action_set"), &OpenXRActionMapEditor::_set_focus_on_action_set);
ClassDB::bind_method(D_METHOD("_remove_action_set", "name"), &OpenXRActionMapEditor::_remove_action_set);
+
+ ClassDB::bind_method(D_METHOD("_do_add_action_set_editor", "action_set_editor"), &OpenXRActionMapEditor::_do_add_action_set_editor);
+ ClassDB::bind_method(D_METHOD("_do_remove_action_set_editor", "action_set_editor"), &OpenXRActionMapEditor::_do_remove_action_set_editor);
+ ClassDB::bind_method(D_METHOD("_do_add_interaction_profile_editor", "interaction_profile_editor"), &OpenXRActionMapEditor::_do_add_interaction_profile_editor);
+ ClassDB::bind_method(D_METHOD("_do_remove_interaction_profile_editor", "interaction_profile_editor"), &OpenXRActionMapEditor::_do_remove_interaction_profile_editor);
}
void OpenXRActionMapEditor::_notification(int p_what) {
@@ -63,8 +65,8 @@ void OpenXRActionMapEditor::_notification(int p_what) {
} break;
case NOTIFICATION_READY: {
- _update_action_sets();
- _update_interaction_profiles();
+ _create_action_sets();
+ _create_interaction_profiles();
} break;
}
}
@@ -75,18 +77,13 @@ OpenXRActionSetEditor *OpenXRActionMapEditor::_add_action_set_editor(Ref<OpenXRA
OpenXRActionSetEditor *action_set_editor = memnew(OpenXRActionSetEditor(action_map, p_action_set));
action_set_editor->connect("remove", callable_mp(this, &OpenXRActionMapEditor::_on_remove_action_set));
action_set_editor->connect("action_removed", callable_mp(this, &OpenXRActionMapEditor::_on_action_removed));
+
actionsets_vb->add_child(action_set_editor);
return action_set_editor;
}
-void OpenXRActionMapEditor::_update_action_sets() {
- // out with the old...
- while (actionsets_vb->get_child_count() > 0) {
- memdelete(actionsets_vb->get_child(0));
- }
-
- // in with the new...
+void OpenXRActionMapEditor::_create_action_sets() {
if (action_map.is_valid()) {
Array action_sets = action_map->get_action_sets();
for (int i = 0; i < action_sets.size(); i++) {
@@ -116,22 +113,10 @@ OpenXRInteractionProfileEditorBase *OpenXRActionMapEditor::_add_interaction_prof
new_profile_editor->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
tabs->set_tab_button_icon(tabs->get_tab_count() - 1, get_theme_icon(SNAME("close"), SNAME("TabBar")));
- interaction_profiles.push_back(new_profile_editor);
-
return new_profile_editor;
}
-void OpenXRActionMapEditor::_update_interaction_profiles() {
- // out with the old...
- while (interaction_profiles.size() > 0) {
- Node *interaction_profile = interaction_profiles[0];
- interaction_profiles.remove_at(0);
-
- tabs->remove_child(interaction_profile);
- interaction_profile->queue_free();
- }
-
- // in with the new...
+void OpenXRActionMapEditor::_create_interaction_profiles() {
if (action_map.is_valid()) {
Array new_interaction_profiles = action_map->get_interaction_profiles();
for (int i = 0; i < new_interaction_profiles.size(); i++) {
@@ -150,9 +135,17 @@ OpenXRActionSetEditor *OpenXRActionMapEditor::_add_action_set(String p_name) {
new_action_set->set_name(p_name);
new_action_set->set_localized_name(p_name);
action_map->add_action_set(new_action_set);
+ action_map->set_edited(true);
// update our editor right away
- return _add_action_set_editor(new_action_set);
+ OpenXRActionSetEditor *action_set_editor = _add_action_set_editor(new_action_set);
+
+ undo_redo->create_action(TTR("Add action set"));
+ undo_redo->add_do_method(this, "_do_add_action_set_editor", action_set_editor);
+ undo_redo->add_undo_method(this, "_do_remove_action_set_editor", action_set_editor);
+ undo_redo->commit_action(false);
+
+ return action_set_editor;
}
void OpenXRActionMapEditor::_remove_action_set(String p_name) {
@@ -160,13 +153,12 @@ void OpenXRActionMapEditor::_remove_action_set(String p_name) {
Ref<OpenXRActionSet> action_set = action_map->find_action_set(p_name);
ERR_FAIL_COND(action_set.is_null());
- if (action_set->get_action_count() > 0) {
- // we should remove these and add to our redo/undo step before calling _remove_action_set
- WARN_PRINT("Action set still has associated actions before being removed!");
+ for (int i = 0; i < actionsets_vb->get_child_count(); i++) {
+ OpenXRActionSetEditor *action_set_editor = Object::cast_to<OpenXRActionSetEditor>(actionsets_vb->get_child(i));
+ if (action_set_editor && action_set_editor->get_action_set() == action_set) {
+ _on_remove_action_set(action_set_editor);
+ }
}
-
- // now we remove it
- action_map->remove_action_set(action_set);
}
void OpenXRActionMapEditor::_on_add_action_set() {
@@ -203,14 +195,23 @@ void OpenXRActionMapEditor::_on_remove_action_set(Object *p_action_set_editor) {
Ref<OpenXRActionSet> action_set = action_set_editor->get_action_set();
ERR_FAIL_COND(action_set.is_null());
- action_map->remove_action_set(action_set);
- actionsets_vb->remove_child(action_set_editor);
- action_set_editor->queue_free();
+ action_set_editor->remove_all_actions();
+
+ undo_redo->create_action(TTR("Remove action set"));
+ undo_redo->add_do_method(this, "_do_remove_action_set_editor", action_set_editor);
+ undo_redo->add_undo_method(this, "_do_add_action_set_editor", action_set_editor);
+ undo_redo->commit_action(true);
+
+ action_map->set_edited(true);
}
void OpenXRActionMapEditor::_on_action_removed() {
- // make sure our interaction profiles are updated
- _update_interaction_profiles();
+ for (int i = 0; i < tabs->get_tab_count(); i++) {
+ // First tab won't be an interaction profile editor, but being thorough..
+ OpenXRInteractionProfileEditorBase *interaction_profile_editor = static_cast<OpenXRInteractionProfileEditorBase *>(tabs->get_tab_control(i));
+ if (interaction_profile_editor) {
+ }
+ }
}
void OpenXRActionMapEditor::_on_add_interaction_profile() {
@@ -232,20 +233,35 @@ void OpenXRActionMapEditor::_on_interaction_profile_selected(const String p_path
new_profile.instantiate();
new_profile->set_interaction_profile_path(p_path);
action_map->add_interaction_profile(new_profile);
+ action_map->set_edited(true);
- _add_interaction_profile_editor(new_profile);
+ OpenXRInteractionProfileEditorBase *interaction_profile_editor = _add_interaction_profile_editor(new_profile);
+
+ undo_redo->create_action(TTR("Add interaction profile"));
+ undo_redo->add_do_method(this, "_do_add_interaction_profile_editor", interaction_profile_editor);
+ undo_redo->add_undo_method(this, "_do_remove_interaction_profile_editor", interaction_profile_editor);
+ undo_redo->commit_action(false);
tabs->set_current_tab(tabs->get_tab_count() - 1);
}
void OpenXRActionMapEditor::_load_action_map(const String p_path, bool p_create_new_if_missing) {
- action_map = ResourceLoader::load(p_path, "", ResourceFormatLoader::CACHE_MODE_IGNORE);
- if (action_map.is_null()) {
- if (p_create_new_if_missing) {
+ Error err = OK;
+ action_map = ResourceLoader::load(p_path, "", ResourceFormatLoader::CACHE_MODE_IGNORE, &err);
+ if (err != OK) {
+ if ((err == ERR_FILE_NOT_FOUND || err == ERR_CANT_OPEN) && p_create_new_if_missing) {
action_map.instantiate();
action_map->create_default_action_sets();
+
+ // Save it immediately
+ err = ResourceSaver::save(action_map, p_path);
+ if (err != OK) {
+ // show warning but continue
+ EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file %s: %s"), edited_path, error_names[err]));
+ }
+
} else {
- EditorNode::get_singleton()->show_warning(TTR("Invalid file, not an OpenXR action map."));
+ EditorNode::get_singleton()->show_warning(vformat(TTR("Error loading %s: %s."), edited_path, error_names[err]));
edited_path = "";
header_label->set_text("");
@@ -254,55 +270,123 @@ void OpenXRActionMapEditor::_load_action_map(const String p_path, bool p_create_
}
edited_path = p_path;
- header_label->set_text(TTR("OpenXR Action map:") + " " + p_path.get_file());
+ header_label->set_text(TTR("OpenXR Action map:") + " " + edited_path.get_file());
}
void OpenXRActionMapEditor::_on_save_action_map() {
Error err = ResourceSaver::save(action_map, edited_path);
if (err != OK) {
- EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file: %s"), edited_path));
+ EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file %s: %s"), edited_path, error_names[err]));
return;
}
- _update_action_sets();
- _update_interaction_profiles();
+ // TODO should clear undo/redo history
+
+ // out with the old
+ _clear_action_map();
+
+ _create_action_sets();
+ _create_interaction_profiles();
}
void OpenXRActionMapEditor::_on_reset_to_default_layout() {
+ // TODO should clear undo/redo history
+
+ // out with the old
+ _clear_action_map();
+
// create a new one
action_map.unref();
action_map.instantiate();
action_map->create_default_action_sets();
+ action_map->set_edited(true);
- _update_action_sets();
- _update_interaction_profiles();
+ _create_action_sets();
+ _create_interaction_profiles();
}
void OpenXRActionMapEditor::_on_tabs_tab_changed(int p_tab) {
}
void OpenXRActionMapEditor::_on_tab_button_pressed(int p_tab) {
- OpenXRInteractionProfileEditorBase *profile_editor = static_cast<OpenXRInteractionProfileEditorBase *>(tabs->get_tab_control(p_tab));
- ERR_FAIL_NULL(profile_editor);
+ OpenXRInteractionProfileEditorBase *interaction_profile_editor = static_cast<OpenXRInteractionProfileEditorBase *>(tabs->get_tab_control(p_tab));
+ ERR_FAIL_NULL(interaction_profile_editor);
+
+ undo_redo->create_action(TTR("Remove interaction profile"));
+ undo_redo->add_do_method(this, "_do_remove_interaction_profile_editor", interaction_profile_editor);
+ undo_redo->add_undo_method(this, "_do_add_interaction_profile_editor", interaction_profile_editor);
+ undo_redo->commit_action(true);
+
+ action_map->set_edited(true);
+}
+
+void OpenXRActionMapEditor::_do_add_action_set_editor(OpenXRActionSetEditor *p_action_set_editor) {
+ Ref<OpenXRActionSet> action_set = p_action_set_editor->get_action_set();
+ ERR_FAIL_COND(action_set.is_null());
+
+ action_map->add_action_set(action_set);
+ actionsets_vb->add_child(p_action_set_editor);
+}
+
+void OpenXRActionMapEditor::_do_remove_action_set_editor(OpenXRActionSetEditor *p_action_set_editor) {
+ Ref<OpenXRActionSet> action_set = p_action_set_editor->get_action_set();
+ ERR_FAIL_COND(action_set.is_null());
+
+ actionsets_vb->remove_child(p_action_set_editor);
+ action_map->remove_action_set(action_set);
+}
+
+void OpenXRActionMapEditor::_do_add_interaction_profile_editor(OpenXRInteractionProfileEditorBase *p_interaction_profile_editor) {
+ Ref<OpenXRInteractionProfile> interaction_profile = p_interaction_profile_editor->get_interaction_profile();
+ ERR_FAIL_COND(interaction_profile.is_null());
+
+ action_map->add_interaction_profile(interaction_profile);
+ tabs->add_child(p_interaction_profile_editor);
+ tabs->set_tab_button_icon(tabs->get_tab_count() - 1, get_theme_icon(SNAME("close"), SNAME("TabBar")));
+
+ tabs->set_current_tab(tabs->get_tab_count() - 1);
+}
- Ref<OpenXRInteractionProfile> interaction_profile = profile_editor->get_interaction_profile();
+void OpenXRActionMapEditor::_do_remove_interaction_profile_editor(OpenXRInteractionProfileEditorBase *p_interaction_profile_editor) {
+ Ref<OpenXRInteractionProfile> interaction_profile = p_interaction_profile_editor->get_interaction_profile();
ERR_FAIL_COND(interaction_profile.is_null());
+ tabs->remove_child(p_interaction_profile_editor);
action_map->remove_interaction_profile(interaction_profile);
- tabs->remove_child(profile_editor);
- profile_editor->queue_free();
}
void OpenXRActionMapEditor::open_action_map(String p_path) {
EditorNode::get_singleton()->make_bottom_panel_item_visible(this);
+ // out with the old...
+ _clear_action_map();
+
+ // now load in our new action map
_load_action_map(p_path);
- _update_action_sets();
- _update_interaction_profiles();
+ _create_action_sets();
+ _create_interaction_profiles();
+}
+
+void OpenXRActionMapEditor::_clear_action_map() {
+ while (actionsets_vb->get_child_count() > 0) {
+ Node *child = actionsets_vb->get_child(0);
+ actionsets_vb->remove_child(child);
+ child->queue_free();
+ }
+
+ for (int i = 0; i < tabs->get_tab_count(); i++) {
+ // First tab won't be an interaction profile editor, but being thorough..
+ OpenXRInteractionProfileEditorBase *interaction_profile_editor = static_cast<OpenXRInteractionProfileEditorBase *>(tabs->get_tab_control(i));
+ if (interaction_profile_editor) {
+ tabs->remove_child(interaction_profile_editor);
+ interaction_profile_editor->queue_free();
+ }
+ }
}
OpenXRActionMapEditor::OpenXRActionMapEditor() {
+ undo_redo = EditorNode::get_undo_redo();
set_custom_minimum_size(Size2(0.0, 300.0));
top_hb = memnew(HBoxContainer);
@@ -364,7 +448,9 @@ OpenXRActionMapEditor::OpenXRActionMapEditor() {
select_interaction_profile_dialog->connect("interaction_profile_selected", callable_mp(this, &OpenXRActionMapEditor::_on_interaction_profile_selected));
add_child(select_interaction_profile_dialog);
- _load_action_map(GLOBAL_GET("xr/openxr/default_action_map"));
+ // Our Action map editor is only shown if openxr is enabled in project settings
+ // So load our action map and if it doesn't exist, create it right away.
+ _load_action_map(GLOBAL_GET("xr/openxr/default_action_map"), true);
}
OpenXRActionMapEditor::~OpenXRActionMapEditor() {
diff --git a/modules/openxr/editor/openxr_action_map_editor.h b/modules/openxr/editor/openxr_action_map_editor.h
index a19bc90f56..8e3210a8e9 100644
--- a/modules/openxr/editor/openxr_action_map_editor.h
+++ b/modules/openxr/editor/openxr_action_map_editor.h
@@ -37,6 +37,7 @@
#include "../editor/openxr_select_interaction_profile_dialog.h"
#include "editor/editor_plugin.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
#include "scene/gui/label.h"
@@ -47,9 +48,9 @@ class OpenXRActionMapEditor : public VBoxContainer {
GDCLASS(OpenXRActionMapEditor, VBoxContainer);
private:
+ Ref<EditorUndoRedoManager> undo_redo;
String edited_path;
Ref<OpenXRActionMap> action_map;
- Vector<Node *> interaction_profiles;
HBoxContainer *top_hb = nullptr;
Label *header_label = nullptr;
@@ -64,9 +65,9 @@ private:
OpenXRSelectInteractionProfileDialog *select_interaction_profile_dialog = nullptr;
OpenXRActionSetEditor *_add_action_set_editor(Ref<OpenXRActionSet> p_action_set);
- void _update_action_sets();
+ void _create_action_sets();
OpenXRInteractionProfileEditorBase *_add_interaction_profile_editor(Ref<OpenXRInteractionProfile> p_interaction_profile);
- void _update_interaction_profiles();
+ void _create_interaction_profiles();
OpenXRActionSetEditor *_add_action_set(String p_name);
void _remove_action_set(String p_name);
@@ -90,6 +91,14 @@ protected:
static void _bind_methods();
void _notification(int p_what);
+ void _clear_action_map();
+
+ // used for undo/redo
+ void _do_add_action_set_editor(OpenXRActionSetEditor *p_action_set_editor);
+ void _do_remove_action_set_editor(OpenXRActionSetEditor *p_action_set_editor);
+ void _do_add_interaction_profile_editor(OpenXRInteractionProfileEditorBase *p_interaction_profile_editor);
+ void _do_remove_interaction_profile_editor(OpenXRInteractionProfileEditorBase *p_interaction_profile_editor);
+
public:
void open_action_map(String p_path);
diff --git a/modules/openxr/editor/openxr_action_set_editor.cpp b/modules/openxr/editor/openxr_action_set_editor.cpp
index 3869146e8e..d3b6945635 100644
--- a/modules/openxr/editor/openxr_action_set_editor.cpp
+++ b/modules/openxr/editor/openxr_action_set_editor.cpp
@@ -32,8 +32,14 @@
#include "openxr_action_editor.h"
void OpenXRActionSetEditor::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("_do_set_name", "name"), &OpenXRActionSetEditor::_do_set_name);
+ ClassDB::bind_method(D_METHOD("_do_set_localized_name", "name"), &OpenXRActionSetEditor::_do_set_localized_name);
+ ClassDB::bind_method(D_METHOD("_do_set_priority", "value"), &OpenXRActionSetEditor::_do_set_priority);
+ ClassDB::bind_method(D_METHOD("_do_add_action_editor", "action_editor"), &OpenXRActionSetEditor::_do_add_action_editor);
+ ClassDB::bind_method(D_METHOD("_do_remove_action_editor", "action_editor"), &OpenXRActionSetEditor::_do_remove_action_editor);
+
ADD_SIGNAL(MethodInfo("remove", PropertyInfo(Variant::OBJECT, "action_set_editor")));
- ADD_SIGNAL(MethodInfo("action_removed"));
+ ADD_SIGNAL(MethodInfo("action_removed", PropertyInfo(Variant::OBJECT, "action")));
}
void OpenXRActionSetEditor::_set_fold_icon() {
@@ -68,20 +74,6 @@ OpenXRActionEditor *OpenXRActionSetEditor::_add_action_editor(Ref<OpenXRAction>
return action_editor;
}
-void OpenXRActionSetEditor::_update_actions() {
- // out with the old...
- while (actions_vb->get_child_count() > 0) {
- memdelete(actions_vb->get_child(0));
- }
-
- // in with the new...
- Array actions = action_set->get_actions();
- for (int i = 0; i < actions.size(); i++) {
- Ref<OpenXRAction> action = actions[i];
- _add_action_editor(action);
- }
-}
-
void OpenXRActionSetEditor::_on_toggle_expand() {
is_expanded = !is_expanded;
actions_vb->set_visible(is_expanded);
@@ -89,24 +81,66 @@ void OpenXRActionSetEditor::_on_toggle_expand() {
}
void OpenXRActionSetEditor::_on_action_set_name_changed(const String p_new_text) {
- // TODO validate if entry is allowed
-
- // If our localized name matches our action set name, set this too
- if (action_set->get_name() == action_set->get_localized_name()) {
- action_set->set_localized_name(p_new_text);
- action_set_localized_name->set_text(p_new_text);
+ if (action_set->get_name() != p_new_text) {
+ undo_redo->create_action(TTR("Rename Action Set"));
+ undo_redo->add_do_method(this, "_do_set_name", p_new_text);
+ undo_redo->add_undo_method(this, "_do_set_name", action_set->get_name());
+ undo_redo->commit_action(false);
+
+ // If our localized name matches our action set name, set this too
+ if (action_set->get_name() == action_set->get_localized_name()) {
+ undo_redo->create_action(TTR("Rename Action Sets Localized name"));
+ undo_redo->add_do_method(this, "_do_set_localized_name", p_new_text);
+ undo_redo->add_undo_method(this, "_do_set_localized_name", action_set->get_localized_name());
+ undo_redo->commit_action(false);
+
+ action_set->set_localized_name(p_new_text);
+ action_set_localized_name->set_text(p_new_text);
+ }
+ action_set->set_name(p_new_text);
+ action_set->set_edited(true);
}
+}
+
+void OpenXRActionSetEditor::_do_set_name(const String p_new_text) {
action_set->set_name(p_new_text);
+ action_set_name->set_text(p_new_text);
}
void OpenXRActionSetEditor::_on_action_set_localized_name_changed(const String p_new_text) {
+ if (action_set->get_localized_name() != p_new_text) {
+ undo_redo->create_action(TTR("Rename Action Sets Localized name"));
+ undo_redo->add_do_method(this, "_do_set_localized_name", p_new_text);
+ undo_redo->add_undo_method(this, "_do_set_localized_name", action_set->get_localized_name());
+ undo_redo->commit_action(false);
+
+ action_set->set_localized_name(p_new_text);
+ action_set->set_edited(true);
+ }
+}
+
+void OpenXRActionSetEditor::_do_set_localized_name(const String p_new_text) {
action_set->set_localized_name(p_new_text);
+ action_set_localized_name->set_text(p_new_text);
}
void OpenXRActionSetEditor::_on_action_set_priority_changed(const String p_new_text) {
int64_t value = p_new_text.to_int();
- action_set->set_priority(value);
+ if (action_set->get_priority() != value) {
+ undo_redo->create_action(TTR("Change Action Sets priority"));
+ undo_redo->add_do_method(this, "_do_set_priority", value);
+ undo_redo->add_undo_method(this, "_do_set_priority", action_set->get_priority());
+ undo_redo->commit_action(false);
+
+ action_set->set_priority(value);
+ action_set->set_edited(true);
+ }
+}
+
+void OpenXRActionSetEditor::_do_set_priority(int64_t p_value) {
+ action_set->set_priority(p_value);
+ action_set_priority->set_text(itos(p_value));
}
void OpenXRActionSetEditor::_on_add_action() {
@@ -116,8 +150,14 @@ void OpenXRActionSetEditor::_on_add_action() {
new_action->set_name("New");
new_action->set_localized_name("New");
action_set->add_action(new_action);
+ action_set->set_edited(true);
- _add_action_editor(new_action);
+ OpenXRActionEditor *action_editor = _add_action_editor(new_action);
+
+ undo_redo->create_action(TTR("Add action"));
+ undo_redo->add_do_method(this, "_do_add_action_editor", action_editor);
+ undo_redo->add_undo_method(this, "_do_remove_action_editor", action_editor);
+ undo_redo->commit_action(false);
// TODO handle focus
}
@@ -133,17 +173,36 @@ void OpenXRActionSetEditor::_on_remove_action(Object *p_action_editor) {
Ref<OpenXRAction> action = action_editor->get_action();
ERR_FAIL_COND(action.is_null());
- // TODO add undo/redo action
+ emit_signal("action_removed", action);
+
+ undo_redo->create_action(TTR("Delete action"));
+ undo_redo->add_do_method(this, "_do_remove_action_editor", action_editor);
+ undo_redo->add_undo_method(this, "_do_add_action_editor", action_editor);
+ undo_redo->commit_action(true);
- // TODO find where this action is used by our interaction profiles and remove it there
+ action_set->set_edited(true);
+}
- // And remove it....
- action_map->remove_action(action->get_name_with_set()); // remove it from the set and any interaction profile it relates to
- actions_vb->remove_child(action_editor);
- action_editor->queue_free();
+void OpenXRActionSetEditor::_do_add_action_editor(OpenXRActionEditor *p_action_editor) {
+ Ref<OpenXRAction> action = p_action_editor->get_action();
+ ERR_FAIL_COND(action.is_null());
- // Let action map editor know so we can update our interaction profiles
- emit_signal("action_removed");
+ action_set->add_action(action);
+ actions_vb->add_child(p_action_editor);
+}
+
+void OpenXRActionSetEditor::_do_remove_action_editor(OpenXRActionEditor *p_action_editor) {
+ Ref<OpenXRAction> action = p_action_editor->get_action();
+ ERR_FAIL_COND(action.is_null());
+
+ actions_vb->remove_child(p_action_editor);
+ action_set->remove_action(action);
+}
+
+void OpenXRActionSetEditor::remove_all_actions() {
+ for (int i = actions_vb->get_child_count(); i > 0; --i) {
+ _on_remove_action(actions_vb->get_child(i));
+ }
}
void OpenXRActionSetEditor::set_focus_on_entry() {
@@ -214,5 +273,10 @@ OpenXRActionSetEditor::OpenXRActionSetEditor(Ref<OpenXRActionMap> p_action_map,
actions_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
main_vb->add_child(actions_vb);
- _update_actions();
+ // Add our existing actions
+ Array actions = action_set->get_actions();
+ for (int i = 0; i < actions.size(); i++) {
+ Ref<OpenXRAction> action = actions[i];
+ _add_action_editor(action);
+ }
}
diff --git a/modules/openxr/editor/openxr_action_set_editor.h b/modules/openxr/editor/openxr_action_set_editor.h
index d8c85d03dd..7a8dc0dcbf 100644
--- a/modules/openxr/editor/openxr_action_set_editor.h
+++ b/modules/openxr/editor/openxr_action_set_editor.h
@@ -44,6 +44,7 @@ class OpenXRActionSetEditor : public HBoxContainer {
GDCLASS(OpenXRActionSetEditor, HBoxContainer);
private:
+ Ref<EditorUndoRedoManager> undo_redo;
Ref<OpenXRActionMap> action_map;
Ref<OpenXRActionSet> action_set;
@@ -63,7 +64,6 @@ private:
void _set_fold_icon();
void _theme_changed();
OpenXRActionEditor *_add_action_editor(Ref<OpenXRAction> p_action);
- void _update_actions();
void _on_toggle_expand();
void _on_action_set_name_changed(const String p_new_text);
@@ -78,10 +78,19 @@ protected:
static void _bind_methods();
void _notification(int p_what);
+ // used for undo/redo
+ void _do_set_name(const String p_new_text);
+ void _do_set_localized_name(const String p_new_text);
+ void _do_set_priority(int64_t value);
+ void _do_add_action_editor(OpenXRActionEditor *p_action_editor);
+ void _do_remove_action_editor(OpenXRActionEditor *p_action_editor);
+
public:
Ref<OpenXRActionSet> get_action_set() { return action_set; };
void set_focus_on_entry();
+ void remove_all_actions();
+
OpenXRActionSetEditor(Ref<OpenXRActionMap> p_action_map, Ref<OpenXRActionSet> p_action_set);
};
diff --git a/modules/openxr/editor/openxr_interaction_profile_editor.cpp b/modules/openxr/editor/openxr_interaction_profile_editor.cpp
index e2dc2d1b74..3eca1967f5 100644
--- a/modules/openxr/editor/openxr_interaction_profile_editor.cpp
+++ b/modules/openxr/editor/openxr_interaction_profile_editor.cpp
@@ -29,6 +29,7 @@
/*************************************************************************/
#include "openxr_interaction_profile_editor.h"
+#include "editor/editor_node.h"
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
#include "scene/gui/label.h"
@@ -58,6 +59,13 @@ void OpenXRInteractionProfileEditorBase::_notification(int p_what) {
}
}
+void OpenXRInteractionProfileEditorBase::_do_update_interaction_profile() {
+ if (!is_dirty) {
+ is_dirty = true;
+ call_deferred("_update_interaction_profile");
+ }
+}
+
void OpenXRInteractionProfileEditorBase::_add_binding(const String p_action, const String p_path) {
ERR_FAIL_COND(action_map.is_null());
ERR_FAIL_COND(interaction_profile.is_null());
@@ -71,14 +79,16 @@ void OpenXRInteractionProfileEditorBase::_add_binding(const String p_action, con
binding.instantiate();
binding->set_action(action);
interaction_profile->add_binding(binding);
+ interaction_profile->set_edited(true);
}
binding->add_path(p_path);
+ binding->set_edited(true);
// Update our toplevel paths
action->set_toplevel_paths(action_map->get_top_level_paths(action));
- call_deferred("_update_interaction_profile");
+ _do_update_interaction_profile();
}
void OpenXRInteractionProfileEditorBase::_remove_binding(const String p_action, const String p_path) {
@@ -91,25 +101,54 @@ void OpenXRInteractionProfileEditorBase::_remove_binding(const String p_action,
Ref<OpenXRIPBinding> binding = interaction_profile->get_binding_for_action(action);
if (binding.is_valid()) {
binding->remove_path(p_path);
+ binding->set_edited(true);
if (binding->get_path_count() == 0) {
interaction_profile->remove_binding(binding);
+ interaction_profile->set_edited(true);
}
// Update our toplevel paths
action->set_toplevel_paths(action_map->get_top_level_paths(action));
- call_deferred("_update_interaction_profile");
+ _do_update_interaction_profile();
+ }
+}
+
+void OpenXRInteractionProfileEditorBase::remove_all_bindings_for_action(Ref<OpenXRAction> p_action) {
+ Ref<OpenXRIPBinding> binding = interaction_profile->get_binding_for_action(p_action);
+ if (binding.is_valid()) {
+ String action_name = p_action->get_name_with_set();
+
+ // for our undo/redo we process all paths
+ undo_redo->create_action(TTR("Remove action from interaction profile"));
+ PackedStringArray paths = binding->get_paths();
+ for (const String &path : paths) {
+ undo_redo->add_do_method(this, "_remove_binding", p_action, path);
+ undo_redo->add_undo_method(this, "_add_binding", p_action, path);
+ }
+ undo_redo->commit_action(false);
+
+ // but we take a shortcut here :)
+ interaction_profile->remove_binding(binding);
+ interaction_profile->set_edited(true);
+
+ // Update our toplevel paths
+ p_action->set_toplevel_paths(action_map->get_top_level_paths(p_action));
+
+ _do_update_interaction_profile();
}
}
OpenXRInteractionProfileEditorBase::OpenXRInteractionProfileEditorBase(Ref<OpenXRActionMap> p_action_map, Ref<OpenXRInteractionProfile> p_interaction_profile) {
+ undo_redo = EditorNode::get_undo_redo();
+
action_map = p_action_map;
interaction_profile = p_interaction_profile;
String profile_path = interaction_profile->get_interaction_profile_path();
String profile_name = profile_path;
- profile_def = OpenXRDefs::get_profile(profile_path);
+ profile_def = OpenXRInteractionProfileMetaData::get_singleton()->get_profile(profile_path);
if (profile_def != nullptr) {
profile_name = profile_def->display_name;
}
@@ -117,6 +156,9 @@ OpenXRInteractionProfileEditorBase::OpenXRInteractionProfileEditorBase(Ref<OpenX
set_name(profile_name);
set_h_size_flags(SIZE_EXPAND_FILL);
set_v_size_flags(SIZE_EXPAND_FILL);
+
+ // Make sure it is updated when it enters the tree...
+ is_dirty = true;
}
///////////////////////////////////////////////////////////////////////////
@@ -128,11 +170,22 @@ void OpenXRInteractionProfileEditor::select_action_for(const String p_io_path) {
}
void OpenXRInteractionProfileEditor::action_selected(const String p_action) {
- _add_binding(p_action, selecting_for_io_path);
+ undo_redo->create_action(TTR("Add binding"));
+ undo_redo->add_do_method(this, "_add_binding", p_action, selecting_for_io_path);
+ undo_redo->add_undo_method(this, "_remove_binding", p_action, selecting_for_io_path);
+ undo_redo->commit_action(true);
+
selecting_for_io_path = "";
}
-void OpenXRInteractionProfileEditor::_add_io_path(VBoxContainer *p_container, const OpenXRDefs::IOPath *p_io_path) {
+void OpenXRInteractionProfileEditor::_on_remove_pressed(const String p_action, const String p_for_io_path) {
+ undo_redo->create_action(TTR("Remove binding"));
+ undo_redo->add_do_method(this, "_remove_binding", p_action, p_for_io_path);
+ undo_redo->add_undo_method(this, "_add_binding", p_action, p_for_io_path);
+ undo_redo->commit_action(true);
+}
+
+void OpenXRInteractionProfileEditor::_add_io_path(VBoxContainer *p_container, const OpenXRInteractionProfileMetaData::IOPath *p_io_path) {
HBoxContainer *path_hb = memnew(HBoxContainer);
path_hb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
p_container->add_child(path_hb);
@@ -196,7 +249,7 @@ void OpenXRInteractionProfileEditor::_add_io_path(VBoxContainer *p_container, co
Button *action_rem = memnew(Button);
action_rem->set_flat(true);
action_rem->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
- action_rem->connect("pressed", callable_mp((OpenXRInteractionProfileEditorBase *)this, &OpenXRInteractionProfileEditorBase::_remove_binding).bind(action->get_name_with_set(), String(p_io_path->openxr_path)));
+ action_rem->connect("pressed", callable_mp((OpenXRInteractionProfileEditor *)this, &OpenXRInteractionProfileEditor::_on_remove_pressed).bind(action->get_name_with_set(), String(p_io_path->openxr_path)));
action_hb->add_child(action_rem);
}
}
@@ -206,6 +259,11 @@ void OpenXRInteractionProfileEditor::_add_io_path(VBoxContainer *p_container, co
void OpenXRInteractionProfileEditor::_update_interaction_profile() {
ERR_FAIL_NULL(profile_def);
+ if (!is_dirty) {
+ // no need to update
+ return;
+ }
+
// out with the old...
while (main_hb->get_child_count() > 0) {
memdelete(main_hb->get_child(0));
@@ -214,9 +272,9 @@ void OpenXRInteractionProfileEditor::_update_interaction_profile() {
// in with the new...
// Determine toplevel paths
- Vector<const OpenXRDefs::TopLevelPath *> top_level_paths;
- for (int i = 0; i < profile_def->io_path_count; i++) {
- const OpenXRDefs::IOPath *io_path = &profile_def->io_paths[i];
+ Vector<String> top_level_paths;
+ for (int i = 0; i < profile_def->io_paths.size(); i++) {
+ const OpenXRInteractionProfileMetaData::IOPath *io_path = &profile_def->io_paths[i];
if (!top_level_paths.has(io_path->top_level_path)) {
top_level_paths.push_back(io_path->top_level_path);
@@ -233,16 +291,19 @@ void OpenXRInteractionProfileEditor::_update_interaction_profile() {
panel->add_child(container);
Label *label = memnew(Label);
- label->set_text(top_level_paths[i]->display_name);
+ label->set_text(OpenXRInteractionProfileMetaData::get_singleton()->get_top_level_name(top_level_paths[i]));
container->add_child(label);
- for (int j = 0; j < profile_def->io_path_count; j++) {
- const OpenXRDefs::IOPath *io_path = &profile_def->io_paths[j];
+ for (int j = 0; j < profile_def->io_paths.size(); j++) {
+ const OpenXRInteractionProfileMetaData::IOPath *io_path = &profile_def->io_paths[j];
if (io_path->top_level_path == top_level_paths[i]) {
_add_io_path(container, io_path);
}
}
}
+
+ // and we've updated it...
+ is_dirty = false;
}
void OpenXRInteractionProfileEditor::_theme_changed() {
@@ -256,14 +317,10 @@ void OpenXRInteractionProfileEditor::_theme_changed() {
OpenXRInteractionProfileEditor::OpenXRInteractionProfileEditor(Ref<OpenXRActionMap> p_action_map, Ref<OpenXRInteractionProfile> p_interaction_profile) :
OpenXRInteractionProfileEditorBase(p_action_map, p_interaction_profile) {
- // TODO background of scrollbox should be darker with our VBoxContainers we're adding in _update_interaction_profile the normal color
-
main_hb = memnew(HBoxContainer);
add_child(main_hb);
select_action_dialog = memnew(OpenXRSelectActionDialog(p_action_map));
select_action_dialog->connect("action_selected", callable_mp(this, &OpenXRInteractionProfileEditor::action_selected));
add_child(select_action_dialog);
-
- _update_interaction_profile();
}
diff --git a/modules/openxr/editor/openxr_interaction_profile_editor.h b/modules/openxr/editor/openxr_interaction_profile_editor.h
index 20a37a80eb..14af702b94 100644
--- a/modules/openxr/editor/openxr_interaction_profile_editor.h
+++ b/modules/openxr/editor/openxr_interaction_profile_editor.h
@@ -32,8 +32,9 @@
#define OPENXR_INTERACTION_PROFILE_EDITOR_H
#include "../action_map/openxr_action_map.h"
-#include "../action_map/openxr_defs.h"
#include "../action_map/openxr_interaction_profile.h"
+#include "../action_map/openxr_interaction_profile_meta_data.h"
+#include "editor/editor_undo_redo_manager.h"
#include "scene/gui/scroll_container.h"
#include "openxr_select_action_dialog.h"
@@ -42,22 +43,29 @@ class OpenXRInteractionProfileEditorBase : public ScrollContainer {
GDCLASS(OpenXRInteractionProfileEditorBase, ScrollContainer);
protected:
+ Ref<EditorUndoRedoManager> undo_redo;
Ref<OpenXRInteractionProfile> interaction_profile;
Ref<OpenXRActionMap> action_map;
+ bool is_dirty = false;
+
static void _bind_methods();
void _notification(int p_what);
- const OpenXRDefs::InteractionProfile *profile_def = nullptr;
+ const OpenXRInteractionProfileMetaData::InteractionProfile *profile_def = nullptr;
public:
Ref<OpenXRInteractionProfile> get_interaction_profile() { return interaction_profile; }
virtual void _update_interaction_profile() {}
virtual void _theme_changed() {}
+
+ void _do_update_interaction_profile();
void _add_binding(const String p_action, const String p_path);
void _remove_binding(const String p_action, const String p_path);
+ void remove_all_bindings_for_action(Ref<OpenXRAction> p_action);
+
OpenXRInteractionProfileEditorBase(Ref<OpenXRActionMap> p_action_map, Ref<OpenXRInteractionProfile> p_interaction_profile);
};
@@ -69,11 +77,12 @@ private:
HBoxContainer *main_hb = nullptr;
OpenXRSelectActionDialog *select_action_dialog = nullptr;
- void _add_io_path(VBoxContainer *p_container, const OpenXRDefs::IOPath *p_io_path);
+ void _add_io_path(VBoxContainer *p_container, const OpenXRInteractionProfileMetaData::IOPath *p_io_path);
public:
void select_action_for(const String p_io_path);
void action_selected(const String p_action);
+ void _on_remove_pressed(const String p_action, const String p_for_io_path);
virtual void _update_interaction_profile() override;
virtual void _theme_changed() override;
diff --git a/modules/openxr/editor/openxr_select_interaction_profile_dialog.cpp b/modules/openxr/editor/openxr_select_interaction_profile_dialog.cpp
index e92519aec2..6ce26a62db 100644
--- a/modules/openxr/editor/openxr_select_interaction_profile_dialog.cpp
+++ b/modules/openxr/editor/openxr_select_interaction_profile_dialog.cpp
@@ -75,13 +75,13 @@ void OpenXRSelectInteractionProfileDialog::open(PackedStringArray p_do_not_inclu
ip_buttons.clear();
// in with the new
- PackedStringArray interaction_profiles = OpenXRDefs::get_interaction_profile_paths();
+ PackedStringArray interaction_profiles = OpenXRInteractionProfileMetaData::get_singleton()->get_interaction_profile_paths();
for (int i = 0; i < interaction_profiles.size(); i++) {
String path = interaction_profiles[i];
if (!p_do_not_include.has(path)) {
Button *ip_button = memnew(Button);
ip_button->set_flat(true);
- ip_button->set_text(OpenXRDefs::get_profile(path)->display_name);
+ ip_button->set_text(OpenXRInteractionProfileMetaData::get_singleton()->get_profile(path)->display_name);
ip_button->connect("pressed", callable_mp(this, &OpenXRSelectInteractionProfileDialog::_on_select_interaction_profile).bind(path));
main_vb->add_child(ip_button);
diff --git a/modules/openxr/editor/openxr_select_interaction_profile_dialog.h b/modules/openxr/editor/openxr_select_interaction_profile_dialog.h
index 54bfe3120a..767326bc46 100644
--- a/modules/openxr/editor/openxr_select_interaction_profile_dialog.h
+++ b/modules/openxr/editor/openxr_select_interaction_profile_dialog.h
@@ -31,7 +31,7 @@
#ifndef OPENXR_SELECT_INTERACTION_PROFILE_DIALOG_H
#define OPENXR_SELECT_INTERACTION_PROFILE_DIALOG_H
-#include "../action_map/openxr_defs.h"
+#include "../action_map/openxr_interaction_profile_meta_data.h"
#include "scene/gui/box_container.h"
#include "scene/gui/button.h"
#include "scene/gui/dialogs.h"
diff --git a/modules/openxr/extensions/openxr_extension_wrapper.h b/modules/openxr/extensions/openxr_extension_wrapper.h
index 77b52ab355..eed969d628 100644
--- a/modules/openxr/extensions/openxr_extension_wrapper.h
+++ b/modules/openxr/extensions/openxr_extension_wrapper.h
@@ -89,11 +89,6 @@ public:
return false;
}
- // Return false if this extension is responsible for this path but the path is not enabled
- virtual bool is_path_supported(const String &p_path) {
- return true;
- }
-
OpenXRExtensionWrapper(OpenXRAPI *p_openxr_api) { openxr_api = p_openxr_api; };
virtual ~OpenXRExtensionWrapper() = default;
};
diff --git a/modules/openxr/extensions/openxr_htc_vive_tracker_extension.cpp b/modules/openxr/extensions/openxr_htc_vive_tracker_extension.cpp
index 29208efb20..302acf4e30 100644
--- a/modules/openxr/extensions/openxr_htc_vive_tracker_extension.cpp
+++ b/modules/openxr/extensions/openxr_htc_vive_tracker_extension.cpp
@@ -65,38 +65,3 @@ bool OpenXRHTCViveTrackerExtension::on_event_polled(const XrEventDataBuffer &eve
} break;
}
}
-
-bool OpenXRHTCViveTrackerExtension::is_path_supported(const String &p_path) {
- if (p_path == "/interaction_profiles/htc/vive_tracker_htcx") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/handheld_object") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/left_foot") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/right_foot") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/left_shoulder") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/right_shoulder") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/left_elbow") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/right_elbow") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/left_knee") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/right_knee") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/waist") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/chest") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/camera") {
- return available;
- } else if (p_path == "/user/vive_tracker_htcx/role/keyboard") {
- return available;
- }
-
- // Not a path under this extensions control, so we return true;
- return true;
-}
diff --git a/modules/openxr/extensions/openxr_htc_vive_tracker_extension.h b/modules/openxr/extensions/openxr_htc_vive_tracker_extension.h
index ab8e8535f1..376af35e37 100644
--- a/modules/openxr/extensions/openxr_htc_vive_tracker_extension.h
+++ b/modules/openxr/extensions/openxr_htc_vive_tracker_extension.h
@@ -43,7 +43,6 @@ public:
bool is_available();
virtual bool on_event_polled(const XrEventDataBuffer &event) override;
- virtual bool is_path_supported(const String &p_path) override;
private:
static OpenXRHTCViveTrackerExtension *singleton;
diff --git a/modules/openxr/extensions/openxr_palm_pose_extension.cpp b/modules/openxr/extensions/openxr_palm_pose_extension.cpp
index fd3b8f50fe..8f87aaea7f 100644
--- a/modules/openxr/extensions/openxr_palm_pose_extension.cpp
+++ b/modules/openxr/extensions/openxr_palm_pose_extension.cpp
@@ -51,16 +51,3 @@ OpenXRPalmPoseExtension::~OpenXRPalmPoseExtension() {
bool OpenXRPalmPoseExtension::is_available() {
return available;
}
-
-bool OpenXRPalmPoseExtension::is_path_supported(const String &p_path) {
- if (p_path == "/user/hand/left/input/palm_ext/pose") {
- return available;
- }
-
- if (p_path == "/user/hand/right/input/palm_ext/pose") {
- return available;
- }
-
- // Not a path under this extensions control, so we return true;
- return true;
-}
diff --git a/modules/openxr/extensions/openxr_palm_pose_extension.h b/modules/openxr/extensions/openxr_palm_pose_extension.h
index a7ef83c5d5..a63c57eb51 100644
--- a/modules/openxr/extensions/openxr_palm_pose_extension.h
+++ b/modules/openxr/extensions/openxr_palm_pose_extension.h
@@ -42,8 +42,6 @@ public:
bool is_available();
- virtual bool is_path_supported(const String &p_path) override;
-
private:
static OpenXRPalmPoseExtension *singleton;
diff --git a/modules/openxr/openxr_api.cpp b/modules/openxr/openxr_api.cpp
index b652ca4617..a075031ac9 100644
--- a/modules/openxr/openxr_api.cpp
+++ b/modules/openxr/openxr_api.cpp
@@ -208,17 +208,79 @@ bool OpenXRAPI::is_extension_supported(const String &p_extension) const {
return false;
}
-bool OpenXRAPI::is_path_supported(const String &p_path) {
- // This checks with extensions whether a path is *unsupported* and returns false if this is so.
- // This allows us to filter out paths that are only available if related extensions are supported.
- // WARNING: This method will return true for unknown/mistyped paths as we have no way to validate those.
+bool OpenXRAPI::is_extension_enabled(const String &p_extension) const {
+ CharString extension = p_extension.ascii();
- for (OpenXRExtensionWrapper *wrapper : registered_extension_wrappers) {
- if (!wrapper->is_path_supported(p_path)) {
- return false;
+ for (int i = 0; i < enabled_extensions.size(); i++) {
+ if (strcmp(enabled_extensions[i].ptr(), extension.ptr()) == 0) {
+ return true;
}
}
+ return false;
+}
+
+bool OpenXRAPI::is_top_level_path_supported(const String &p_toplevel_path) {
+ String required_extension = OpenXRInteractionProfileMetaData::get_singleton()->get_top_level_extension(p_toplevel_path);
+
+ // If unsupported is returned we likely have a misspelled interaction profile path in our action map. Always output that as an error.
+ ERR_FAIL_COND_V_MSG(required_extension == XR_PATH_UNSUPPORTED_NAME, false, "OpenXR: Unsupported interaction profile " + p_toplevel_path);
+
+ if (required_extension == "") {
+ // no extension needed, core top level are always "supported", they just won't be used if not really supported
+ return true;
+ }
+
+ if (!is_extension_enabled(required_extension)) {
+ // It is very likely we have top level paths for which the extension is not available so don't flood the logs with unnecessary spam.
+ print_verbose("OpenXR: Top level path " + p_toplevel_path + " requires extension " + required_extension);
+ return false;
+ }
+
+ return true;
+}
+
+bool OpenXRAPI::is_interaction_profile_supported(const String &p_ip_path) {
+ String required_extension = OpenXRInteractionProfileMetaData::get_singleton()->get_interaction_profile_extension(p_ip_path);
+
+ // If unsupported is returned we likely have a misspelled interaction profile path in our action map. Always output that as an error.
+ ERR_FAIL_COND_V_MSG(required_extension == XR_PATH_UNSUPPORTED_NAME, false, "OpenXR: Unsupported interaction profile " + p_ip_path);
+
+ if (required_extension == "") {
+ // no extension needed, core interaction profiles are always "supported", they just won't be used if not really supported
+ return true;
+ }
+
+ if (!is_extension_enabled(required_extension)) {
+ // It is very likely we have interaction profiles for which the extension is not available so don't flood the logs with unnecessary spam.
+ print_verbose("OpenXR: Interaction profile " + p_ip_path + " requires extension " + required_extension);
+ return false;
+ }
+
+ return true;
+}
+
+bool OpenXRAPI::interaction_profile_supports_io_path(const String &p_ip_path, const String &p_io_path) {
+ if (!is_interaction_profile_supported(p_ip_path)) {
+ return false;
+ }
+
+ const OpenXRInteractionProfileMetaData::IOPath *io_path = OpenXRInteractionProfileMetaData::get_singleton()->get_io_path(p_ip_path, p_io_path);
+
+ // If the io_path is not part of our meta data we've likely got a misspelled name or a bad action map, report
+ ERR_FAIL_NULL_V_MSG(io_path, false, "OpenXR: Unsupported io path " + String(p_ip_path) + String(p_io_path));
+
+ if (io_path->openxr_extension_name == "") {
+ // no extension needed, core io paths are always "supported", they just won't be used if not really supported
+ return true;
+ }
+
+ if (!is_extension_enabled(io_path->openxr_extension_name)) {
+ // It is very likely we have io paths for which the extension is not available so don't flood the logs with unnecessary spam.
+ print_verbose("OpenXR: IO path " + String(p_ip_path) + String(p_io_path) + " requires extension " + io_path->openxr_extension_name);
+ return false;
+ }
+
return true;
}
@@ -283,6 +345,7 @@ bool OpenXRAPI::create_instance() {
Vector<const char *> extension_ptrs;
for (int i = 0; i < enabled_extensions.size(); i++) {
+ print_verbose(String("OpenXR: Enabling extension ") + String(enabled_extensions[i]));
extension_ptrs.push_back(enabled_extensions[i].get_data());
}
@@ -2341,7 +2404,7 @@ XrPath OpenXRAPI::get_interaction_profile_path(RID p_interaction_profile) {
}
RID OpenXRAPI::interaction_profile_create(const String p_name) {
- if (!is_path_supported(p_name)) {
+ if (!is_interaction_profile_supported(p_name)) {
// The extension enabling this path must not be active, we will silently skip this interaction profile
return RID();
}
@@ -2382,14 +2445,13 @@ void OpenXRAPI::interaction_profile_clear_bindings(RID p_interaction_profile) {
}
bool OpenXRAPI::interaction_profile_add_binding(RID p_interaction_profile, RID p_action, const String p_path) {
- if (!is_path_supported(p_path)) {
- // The extension enabling this path must not be active, we will silently skip this binding
- return false;
- }
-
InteractionProfile *ip = interaction_profile_owner.get_or_null(p_interaction_profile);
ERR_FAIL_NULL_V(ip, false);
+ if (!interaction_profile_supports_io_path(ip->name, p_path)) {
+ return false;
+ }
+
XrActionSuggestedBinding binding;
Action *action = action_owner.get_or_null(p_action);
diff --git a/modules/openxr/openxr_api.h b/modules/openxr/openxr_api.h
index ac4bbff94c..806e859da0 100644
--- a/modules/openxr/openxr_api.h
+++ b/modules/openxr/openxr_api.h
@@ -150,6 +150,7 @@ private:
bool load_layer_properties();
bool load_supported_extensions();
bool is_extension_supported(const String &p_extension) const;
+ bool is_extension_enabled(const String &p_extension) const;
bool openxr_loader_init();
bool resolve_instance_openxr_symbols();
@@ -301,7 +302,9 @@ public:
void parse_velocities(const XrSpaceVelocity &p_velocity, Vector3 &r_linear_velocity, Vector3 &r_angular_velocity);
bool xr_result(XrResult result, const char *format, Array args = Array()) const;
- bool is_path_supported(const String &p_path);
+ bool is_top_level_path_supported(const String &p_toplevel_path);
+ bool is_interaction_profile_supported(const String &p_ip_path);
+ bool interaction_profile_supports_io_path(const String &p_ip_path, const String &p_io_path);
static bool openxr_is_enabled(bool p_check_run_in_editor = true);
static OpenXRAPI *get_singleton();
diff --git a/modules/openxr/openxr_interface.cpp b/modules/openxr/openxr_interface.cpp
index 40190ab2f3..d6f7cd7b3e 100644
--- a/modules/openxr/openxr_interface.cpp
+++ b/modules/openxr/openxr_interface.cpp
@@ -158,7 +158,7 @@ void OpenXRInterface::_load_action_map() {
for (int k = 0; k < toplevel_paths.size(); k++) {
// Only check for our tracker if our path is supported.
- if (openxr_api->is_path_supported(toplevel_paths[k])) {
+ if (openxr_api->is_top_level_path_supported(toplevel_paths[k])) {
Tracker *tracker = find_tracker(toplevel_paths[k], true);
if (tracker) {
trackers_for_action.push_back(tracker);
@@ -345,7 +345,7 @@ OpenXRInterface::Tracker *OpenXRInterface::find_tracker(const String &p_tracker_
return nullptr;
}
- ERR_FAIL_COND_V(!openxr_api->is_path_supported(p_tracker_name), nullptr);
+ ERR_FAIL_COND_V(!openxr_api->is_top_level_path_supported(p_tracker_name), nullptr);
// Create our RID
RID tracker_rid = openxr_api->tracker_create(p_tracker_name);
diff --git a/modules/openxr/register_types.cpp b/modules/openxr/register_types.cpp
index 5694fffe39..0835bbd642 100644
--- a/modules/openxr/register_types.cpp
+++ b/modules/openxr/register_types.cpp
@@ -37,9 +37,14 @@
#include "action_map/openxr_action_map.h"
#include "action_map/openxr_action_set.h"
#include "action_map/openxr_interaction_profile.h"
+#include "action_map/openxr_interaction_profile_meta_data.h"
#include "scene/openxr_hand.h"
+static OpenXRAPI *openxr_api = nullptr;
+static OpenXRInteractionProfileMetaData *openxr_interaction_profile_meta_data = nullptr;
+static Ref<OpenXRInterface> openxr_interface;
+
#ifdef TOOLS_ENABLED
#include "editor/editor_node.h"
@@ -49,6 +54,12 @@ static void _editor_init() {
if (OpenXRAPI::openxr_is_enabled(false)) {
// Only add our OpenXR action map editor if OpenXR is enabled for our project
+ if (openxr_interaction_profile_meta_data == nullptr) {
+ // If we didn't initialize our actionmap meta data at startup, we initialise it now.
+ openxr_interaction_profile_meta_data = memnew(OpenXRInteractionProfileMetaData);
+ ERR_FAIL_NULL(openxr_interaction_profile_meta_data);
+ }
+
OpenXREditorPlugin *openxr_plugin = memnew(OpenXREditorPlugin());
EditorNode::get_singleton()->add_editor_plugin(openxr_plugin);
}
@@ -56,14 +67,13 @@ static void _editor_init() {
#endif
-static OpenXRAPI *openxr_api = nullptr;
-static Ref<OpenXRInterface> openxr_interface;
-
void initialize_openxr_module(ModuleInitializationLevel p_level) {
if (p_level == MODULE_INITIALIZATION_LEVEL_SERVERS) {
// For now we create our openxr device here. If we merge it with openxr_interface we'll create that here soon.
if (OpenXRAPI::openxr_is_enabled()) {
+ openxr_interaction_profile_meta_data = memnew(OpenXRInteractionProfileMetaData);
+ ERR_FAIL_NULL(openxr_interaction_profile_meta_data);
openxr_api = memnew(OpenXRAPI);
ERR_FAIL_NULL(openxr_api);
@@ -81,6 +91,7 @@ void initialize_openxr_module(ModuleInitializationLevel p_level) {
GDREGISTER_CLASS(OpenXRAction);
GDREGISTER_CLASS(OpenXRActionSet);
GDREGISTER_CLASS(OpenXRActionMap);
+ GDREGISTER_CLASS(OpenXRInteractionProfileMetaData);
GDREGISTER_CLASS(OpenXRIPBinding);
GDREGISTER_CLASS(OpenXRInteractionProfile);
@@ -131,4 +142,9 @@ void uninitialize_openxr_module(ModuleInitializationLevel p_level) {
memdelete(openxr_api);
openxr_api = nullptr;
}
+
+ if (openxr_interaction_profile_meta_data) {
+ memdelete(openxr_interaction_profile_meta_data);
+ openxr_interaction_profile_meta_data = nullptr;
+ }
}
diff --git a/modules/raycast/config.py b/modules/raycast/config.py
index f4243f01c5..26329d813a 100644
--- a/modules/raycast/config.py
+++ b/modules/raycast/config.py
@@ -1,13 +1,11 @@
def can_build(env, platform):
# Supported architectures depend on the Embree library.
- # No ARM32 support planned.
- if env["arch"] == "arm32":
- return False
+ if env["arch"] in ["x86_64", "arm64", "wasm32"]:
+ return True
# x86_32 only seems supported on Windows for now.
- if env["arch"] == "x86_32" and platform != "windows":
- return False
- # The rest works, even wasm32!
- return True
+ if env["arch"] == "x86_32" and platform == "windows":
+ return True
+ return False
def configure(env):
diff --git a/modules/text_server_adv/SCsub b/modules/text_server_adv/SCsub
index 3c7a89b705..4a9c7b3567 100644
--- a/modules/text_server_adv/SCsub
+++ b/modules/text_server_adv/SCsub
@@ -223,9 +223,6 @@ if env["builtin_graphite"] and freetype_enabled and env["graphite"]:
]
)
- if env.msvc: # Not our business to fix.
- env_graphite.Append(CCFLAGS=["-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS"])
-
lib = env_graphite.add_library("graphite_builtin", thirdparty_sources)
thirdparty_obj += lib
diff --git a/scene/2d/canvas_group.cpp b/scene/2d/canvas_group.cpp
index d4182f85a7..0ada703837 100644
--- a/scene/2d/canvas_group.cpp
+++ b/scene/2d/canvas_group.cpp
@@ -47,7 +47,7 @@ void CanvasGroup::set_clear_margin(real_t p_clear_margin) {
ERR_FAIL_COND(p_clear_margin < 0.0);
clear_margin = p_clear_margin;
- RS::get_singleton()->canvas_item_set_canvas_group_mode(get_canvas_item(), RS::CANVAS_GROUP_MODE_TRANSPARENT, clear_margin, true, clear_margin, use_mipmaps);
+ RS::get_singleton()->canvas_item_set_canvas_group_mode(get_canvas_item(), RS::CANVAS_GROUP_MODE_TRANSPARENT, clear_margin, true, fit_margin, use_mipmaps);
queue_redraw();
}
diff --git a/scene/2d/gpu_particles_2d.cpp b/scene/2d/gpu_particles_2d.cpp
index c8f5d7f5a6..ccbc080768 100644
--- a/scene/2d/gpu_particles_2d.cpp
+++ b/scene/2d/gpu_particles_2d.cpp
@@ -625,6 +625,8 @@ void GPUParticles2D::_bind_methods() {
ADD_PROPERTY_DEFAULT("emitting", true); // Workaround for doctool in headless mode, as dummy rasterizer always returns false.
ADD_PROPERTY(PropertyInfo(Variant::INT, "amount", PROPERTY_HINT_RANGE, "1,1000000,1,exp"), "set_amount", "get_amount");
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "sub_emitter", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "GPUParticles2D"), "set_sub_emitter", "get_sub_emitter");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "process_material", PROPERTY_HINT_RESOURCE_TYPE, "ShaderMaterial,ParticleProcessMaterial"), "set_process_material", "get_process_material");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture");
ADD_GROUP("Time", "");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "lifetime", PROPERTY_HINT_RANGE, "0.01,600.0,0.01,or_greater,suffix:s"), "set_lifetime", "get_lifetime");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "one_shot"), "set_one_shot", "get_one_shot");
@@ -646,10 +648,6 @@ void GPUParticles2D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "trail_lifetime", PROPERTY_HINT_RANGE, "0.01,10,0.01,or_greater,suffix:s"), "set_trail_lifetime", "get_trail_lifetime");
ADD_PROPERTY(PropertyInfo(Variant::INT, "trail_sections", PROPERTY_HINT_RANGE, "2,128,1"), "set_trail_sections", "get_trail_sections");
ADD_PROPERTY(PropertyInfo(Variant::INT, "trail_section_subdivisions", PROPERTY_HINT_RANGE, "1,1024,1"), "set_trail_section_subdivisions", "get_trail_section_subdivisions");
- ADD_GROUP("Process Material", "process_");
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "process_material", PROPERTY_HINT_RESOURCE_TYPE, "ShaderMaterial,ParticleProcessMaterial"), "set_process_material", "get_process_material");
- ADD_GROUP("Textures", "");
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture");
BIND_ENUM_CONSTANT(DRAW_ORDER_INDEX);
BIND_ENUM_CONSTANT(DRAW_ORDER_LIFETIME);
diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp
index fbc85bd5e1..b06a21dea9 100644
--- a/scene/animation/animation_tree.cpp
+++ b/scene/animation/animation_tree.cpp
@@ -1759,7 +1759,7 @@ void AnimationTree::_setup_animation_player() {
AnimationPlayer *new_player = nullptr;
if (!animation_player.is_empty()) {
- new_player = Object::cast_to<AnimationPlayer>(get_node(animation_player));
+ new_player = Object::cast_to<AnimationPlayer>(get_node_or_null(animation_player));
if (new_player && !new_player->is_connected("animation_list_changed", callable_mp(this, &AnimationTree::_animation_player_changed))) {
new_player->connect("animation_list_changed", callable_mp(this, &AnimationTree::_animation_player_changed));
}
diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp
index 82f089735d..c44feddd38 100644
--- a/scene/gui/item_list.cpp
+++ b/scene/gui/item_list.cpp
@@ -1550,6 +1550,7 @@ bool ItemList::get_allow_reselect() const {
}
void ItemList::set_icon_scale(real_t p_scale) {
+ ERR_FAIL_COND(!Math::is_finite(p_scale));
icon_scale = p_scale;
}
diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp
index e871ca007c..092f672cba 100644
--- a/scene/resources/resource_format_text.cpp
+++ b/scene/resources/resource_format_text.cpp
@@ -982,15 +982,26 @@ Error ResourceLoaderText::rename_dependencies(Ref<FileAccess> p_f, const String
f->seek(tag_end);
- uint8_t c = f->get_8();
- if (c == '\n' && !f->eof_reached()) {
- // Skip first newline character since we added one
- c = f->get_8();
+ const uint32_t buffer_size = 2048;
+ uint8_t *buffer = (uint8_t *)alloca(buffer_size);
+ uint32_t num_read;
+
+ num_read = f->get_buffer(buffer, buffer_size);
+ ERR_FAIL_COND_V_MSG(num_read == UINT32_MAX, ERR_CANT_CREATE, "Failed to allocate memory for buffer.");
+ ERR_FAIL_COND_V(num_read == 0, ERR_FILE_CORRUPT);
+
+ if (*buffer == '\n') {
+ // Skip first newline character since we added one.
+ if (num_read > 1) {
+ fw->store_buffer(buffer + 1, num_read - 1);
+ }
+ } else {
+ fw->store_buffer(buffer, num_read);
}
while (!f->eof_reached()) {
- fw->store_8(c);
- c = f->get_8();
+ num_read = f->get_buffer(buffer, buffer_size);
+ fw->store_buffer(buffer, num_read);
}
bool all_ok = fw->get_error() == OK;
diff --git a/servers/rendering/renderer_rd/effects/copy_effects.cpp b/servers/rendering/renderer_rd/effects/copy_effects.cpp
index 09a7b2d3b5..9fda54a34d 100644
--- a/servers/rendering/renderer_rd/effects/copy_effects.cpp
+++ b/servers/rendering/renderer_rd/effects/copy_effects.cpp
@@ -628,7 +628,7 @@ void CopyEffects::copy_raster(RID p_source_texture, RID p_dest_framebuffer) {
RD::get_singleton()->draw_list_end();
}
-void CopyEffects::gaussian_blur(RID p_source_rd_texture, RID p_texture, const Rect2i &p_region, bool p_8bit_dst) {
+void CopyEffects::gaussian_blur(RID p_source_rd_texture, RID p_texture, const Rect2i &p_region, const Size2i &p_size, bool p_8bit_dst) {
ERR_FAIL_COND_MSG(prefer_raster_effects, "Can't use the compute version of the gaussian blur with the mobile renderer.");
UniformSetCacheRD *uniform_set_cache = UniformSetCacheRD::get_singleton();
@@ -640,8 +640,10 @@ void CopyEffects::gaussian_blur(RID p_source_rd_texture, RID p_texture, const Re
copy.push_constant.section[0] = p_region.position.x;
copy.push_constant.section[1] = p_region.position.y;
- copy.push_constant.section[2] = p_region.size.width;
- copy.push_constant.section[3] = p_region.size.height;
+ copy.push_constant.target[0] = p_region.position.x;
+ copy.push_constant.target[1] = p_region.position.y;
+ copy.push_constant.section[2] = p_size.width;
+ copy.push_constant.section[3] = p_size.height;
// setup our uniforms
RID default_sampler = material_storage->sampler_rd_get_default(RS::CANVAS_ITEM_TEXTURE_FILTER_LINEAR, RS::CANVAS_ITEM_TEXTURE_REPEAT_DISABLED);
diff --git a/servers/rendering/renderer_rd/effects/copy_effects.h b/servers/rendering/renderer_rd/effects/copy_effects.h
index 32f5505495..a0904f0b8e 100644
--- a/servers/rendering/renderer_rd/effects/copy_effects.h
+++ b/servers/rendering/renderer_rd/effects/copy_effects.h
@@ -330,7 +330,7 @@ public:
void copy_to_atlas_fb(RID p_source_rd_texture, RID p_dest_framebuffer, const Rect2 &p_uv_rect, RD::DrawListID p_draw_list, bool p_flip_y = false, bool p_panorama = false);
void copy_raster(RID p_source_texture, RID p_dest_framebuffer);
- void gaussian_blur(RID p_source_rd_texture, RID p_texture, const Rect2i &p_region, bool p_8bit_dst = false);
+ void gaussian_blur(RID p_source_rd_texture, RID p_texture, const Rect2i &p_region, const Size2i &p_size, bool p_8bit_dst = false);
void gaussian_blur_raster(RID p_source_rd_texture, RID p_dest_texture, const Rect2i &p_region, const Size2i &p_size);
void gaussian_glow(RID p_source_rd_texture, RID p_back_texture, const Size2i &p_size, float p_strength = 1.0, bool p_first_pass = false, float p_luminance_cap = 16.0, float p_exposure = 1.0, float p_bloom = 0.0, float p_hdr_bleed_threshold = 1.0, float p_hdr_bleed_scale = 1.0, RID p_auto_exposure = RID(), float p_auto_exposure_scale = 1.0);
void gaussian_glow_raster(RID p_source_rd_texture, RID p_half_texture, RID p_dest_texture, float p_luminance_multiplier, const Size2i &p_size, float p_strength = 1.0, bool p_first_pass = false, float p_luminance_cap = 16.0, float p_exposure = 1.0, float p_bloom = 0.0, float p_hdr_bleed_threshold = 1.0, float p_hdr_bleed_scale = 1.0, RID p_auto_exposure = RID(), float p_auto_exposure_scale = 1.0);
diff --git a/servers/rendering/renderer_rd/shaders/effects/copy.glsl b/servers/rendering/renderer_rd/shaders/effects/copy.glsl
index cdb9b83452..3a82861057 100644
--- a/servers/rendering/renderer_rd/shaders/effects/copy.glsl
+++ b/servers/rendering/renderer_rd/shaders/effects/copy.glsl
@@ -92,7 +92,7 @@ void main() {
#ifdef MODE_GAUSSIAN_BLUR
// First pass copy texture into 16x16 local memory for every 8x8 thread block
- vec2 quad_center_uv = clamp(vec2(gl_GlobalInvocationID.xy + gl_LocalInvocationID.xy - 3.5) / params.section.zw, vec2(0.5 / params.section.zw), vec2(1.0 - 1.5 / params.section.zw));
+ vec2 quad_center_uv = clamp(vec2(params.section.xy + gl_GlobalInvocationID.xy + gl_LocalInvocationID.xy - 3.5) / params.section.zw, vec2(0.5 / params.section.zw), vec2(1.0 - 1.5 / params.section.zw));
uint dest_index = gl_LocalInvocationID.x * 2 + gl_LocalInvocationID.y * 2 * 16;
local_cache[dest_index] = textureLod(source_color, quad_center_uv, 0);
diff --git a/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl b/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl
index 46bb99794d..6137224162 100644
--- a/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl
+++ b/servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl
@@ -88,6 +88,7 @@ layout(push_constant, std430) uniform Params {
}
params;
+#ifndef MODE_SET_COLOR
#ifdef MULTIVIEW
layout(location = 0) in vec3 uv_interp;
#else
@@ -106,6 +107,7 @@ layout(set = 0, binding = 0) uniform sampler2D source_color;
layout(set = 1, binding = 0) uniform sampler2D source_color2;
#endif /* MODE_TWO_SOURCES */
#endif /* MULTIVIEW */
+#endif /* !SET_COLOR */
layout(location = 0) out vec4 frag_color;
diff --git a/servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl b/servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl
index 9d8294a7da..a8b2d77718 100644
--- a/servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl
+++ b/servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl
@@ -212,6 +212,9 @@ void main() {
float grad = (steps_taken + 1.0) / float(params.num_steps);
float initial_fade = params.curve_fade_in == 0.0 ? 1.0 : pow(clamp(grad, 0.0, 1.0), params.curve_fade_in);
float fade = pow(clamp(1.0 - grad, 0.0, 1.0), params.distance_fade) * initial_fade;
+ // This is an ad-hoc term to fade out the SSR as roughness increases. Values used
+ // are meant to match the visual appearance of a ReflectionProbe.
+ float roughness_fade = smoothstep(0.4, 0.7, 1.0 - normal_roughness.w);
final_pos = pos;
vec4 final_color;
@@ -246,7 +249,7 @@ void main() {
#endif // MODE_ROUGH
- final_color = vec4(imageLoad(source_diffuse, ivec2(final_pos - 0.5)).rgb, fade * margin_blend);
+ final_color = vec4(imageLoad(source_diffuse, ivec2(final_pos - 0.5)).rgb, fade * margin_blend * roughness_fade);
// Schlick term.
float metallic = texelFetch(source_metallic, ssC << 1, 0).w;
diff --git a/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl b/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl
index ba31b9c6dd..b30b0c8169 100644
--- a/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl
+++ b/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl
@@ -134,7 +134,8 @@ void light_compute(vec3 N, vec3 L, vec3 V, float A, vec3 light_color, float atte
#endif
#if defined(LIGHT_RIM_USED)
- float rim_light = pow(max(0.0, 1.0 - cNdotV), max(0.0, (1.0 - roughness) * 16.0));
+ // Epsilon min to prevent pow(0, 0) singularity which results in undefined behavior.
+ float rim_light = pow(max(1e-4, 1.0 - cNdotV), max(0.0, (1.0 - roughness) * 16.0));
diffuse_light += rim_light * rim * mix(vec3(1.0), albedo, rim_tint) * light_color;
#endif
diff --git a/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp b/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp
index 15c5687665..543eb0cb72 100644
--- a/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp
+++ b/servers/rendering/renderer_rd/storage_rd/texture_storage.cpp
@@ -3140,13 +3140,13 @@ void TextureStorage::render_target_copy_to_back_buffer(RID p_render_target, cons
region.position.y >>= 1;
region.size.x = MAX(1, region.size.x >> 1);
region.size.y = MAX(1, region.size.y >> 1);
+ texture_size.x = MAX(1, texture_size.x >> 1);
+ texture_size.y = MAX(1, texture_size.y >> 1);
RID mipmap = rt->backbuffer_mipmaps[i];
if (RendererSceneRenderRD::get_singleton()->_render_buffers_can_be_storage()) {
- copy_effects->gaussian_blur(prev_texture, mipmap, region, true);
+ copy_effects->gaussian_blur(prev_texture, mipmap, region, texture_size, true);
} else {
- texture_size.x = MAX(1, texture_size.x >> 1);
- texture_size.y = MAX(1, texture_size.y >> 1);
copy_effects->gaussian_blur_raster(prev_texture, mipmap, region, texture_size);
}
prev_texture = mipmap;
@@ -3179,7 +3179,7 @@ void TextureStorage::render_target_clear_back_buffer(RID p_render_target, const
if (RendererSceneRenderRD::get_singleton()->_render_buffers_can_be_storage()) {
copy_effects->set_color(rt->backbuffer_mipmap0, p_color, region, true);
} else {
- copy_effects->set_color(rt->backbuffer_mipmap0, p_color, region, true);
+ copy_effects->set_color_raster(rt->backbuffer_mipmap0, p_color, region);
}
}
@@ -3213,14 +3213,14 @@ void TextureStorage::render_target_gen_back_buffer_mipmaps(RID p_render_target,
region.position.y >>= 1;
region.size.x = MAX(1, region.size.x >> 1);
region.size.y = MAX(1, region.size.y >> 1);
+ texture_size.x = MAX(1, texture_size.x >> 1);
+ texture_size.y = MAX(1, texture_size.y >> 1);
RID mipmap = rt->backbuffer_mipmaps[i];
if (RendererSceneRenderRD::get_singleton()->_render_buffers_can_be_storage()) {
- copy_effects->gaussian_blur(prev_texture, mipmap, region, true);
+ copy_effects->gaussian_blur(prev_texture, mipmap, region, texture_size, true);
} else {
- texture_size.x = MAX(1, texture_size.x >> 1);
- texture_size.y = MAX(1, texture_size.y >> 1);
copy_effects->gaussian_blur_raster(prev_texture, mipmap, region, texture_size);
}
prev_texture = mipmap;
diff --git a/servers/rendering/shader_compiler.cpp b/servers/rendering/shader_compiler.cpp
index 7ccf3af6eb..3604756fd8 100644
--- a/servers/rendering/shader_compiler.cpp
+++ b/servers/rendering/shader_compiler.cpp
@@ -1287,7 +1287,7 @@ String ShaderCompiler::_dump_node_code(const SL::Node *p_node, int p_level, Gene
}
code += ")";
if (is_screen_texture && actions.apply_luminance_multiplier) {
- code = "(" + code + " / vec4(vec3(sc_luminance_multiplier), 1.0))";
+ code = "(" + code + " * vec4(vec3(sc_luminance_multiplier), 1.0))";
}
} break;
case SL::OP_INDEX: {
diff --git a/tests/scene/test_arraymesh.h b/tests/scene/test_arraymesh.h
index fc23adcd06..a11916fbd0 100644
--- a/tests/scene/test_arraymesh.h
+++ b/tests/scene/test_arraymesh.h
@@ -82,7 +82,9 @@ TEST_CASE("[SceneTree][ArrayMesh] Adding and modifying blendshapes.") {
cylinder->create_mesh_array(cylinder_array, 3.f, 3.f, 5.f);
mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, cylinder_array);
+ ERR_PRINT_OFF
mesh->add_blend_shape(name_a);
+ ERR_PRINT_ON
CHECK(mesh->get_blend_shape_count() == 0);
}
@@ -121,7 +123,9 @@ TEST_CASE("[SceneTree][ArrayMesh] Adding and modifying blendshapes.") {
cylinder->create_mesh_array(cylinder_array, 3.f, 3.f, 5.f);
mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, cylinder_array);
+ ERR_PRINT_OFF
mesh->clear_blend_shapes();
+ ERR_PRINT_ON
CHECK(mesh->get_blend_shape_count() == 2);
}
diff --git a/tests/scene/test_bit_map.h b/tests/scene/test_bit_map.h
index dc47bd7863..a8ee7505ec 100644
--- a/tests/scene/test_bit_map.h
+++ b/tests/scene/test_bit_map.h
@@ -49,6 +49,8 @@ TEST_CASE("[BitMap] Create bit map") {
CHECK(bit_map.get_size() == Size2i(256, 512));
CHECK_MESSAGE(bit_map.get_true_bit_count() == 0, "This will go through the entire bitmask inside of bitmap, thus hopefully checking if the bitmask was correctly set up.");
+ ERR_PRINT_OFF
+
dim = Size2i(0, 256);
bit_map.create(dim);
CHECK_MESSAGE(bit_map.get_size() == Size2i(256, 512), "We should still have the same dimensions as before, because the new dimension is invalid.");
@@ -60,6 +62,8 @@ TEST_CASE("[BitMap] Create bit map") {
dim = Size2i(46341, 46341);
bit_map.create(dim);
CHECK_MESSAGE(bit_map.get_size() == Size2i(256, 512), "We should still have the same dimensions as before, because the new dimension is too large (46341*46341=2147488281).");
+
+ ERR_PRINT_ON
}
TEST_CASE("[BitMap] Create bit map from image alpha") {
@@ -67,6 +71,8 @@ TEST_CASE("[BitMap] Create bit map from image alpha") {
BitMap bit_map{};
bit_map.create(dim);
+ ERR_PRINT_OFF
+
const Ref<Image> null_img = nullptr;
bit_map.create_from_image_alpha(null_img);
CHECK_MESSAGE(bit_map.get_size() == Size2i(256, 256), "Bitmap should have its old values because bitmap creation from a nullptr should fail.");
@@ -80,6 +86,8 @@ TEST_CASE("[BitMap] Create bit map from image alpha") {
bit_map.create_from_image_alpha(wrong_format_img);
CHECK_MESSAGE(bit_map.get_size() == Size2i(256, 256), "Bitmap should have its old values because converting from a compressed image should fail.");
+ ERR_PRINT_ON
+
Ref<Image> img = Image::create_empty(3, 3, false, Image::Format::FORMAT_RGBA8);
img->set_pixel(0, 0, Color(0, 0, 0, 0));
img->set_pixel(0, 1, Color(0, 0, 0, 0.09f));
@@ -105,6 +113,8 @@ TEST_CASE("[BitMap] Set bit") {
BitMap bit_map{};
// Setting a point before a bit map is created should not crash, because there are checks to see if we are out of bounds.
+ ERR_PRINT_OFF
+
bit_map.set_bitv(Point2i(128, 128), true);
bit_map.create(dim);
@@ -120,12 +130,16 @@ TEST_CASE("[BitMap] Set bit") {
bit_map.create(dim);
bit_map.set_bitv(Point2i(512, 512), true);
CHECK_MESSAGE(bit_map.get_true_bit_count() == 0, "Nothing should change as we were trying to edit a bit outside of the correct range.");
+
+ ERR_PRINT_ON
}
TEST_CASE("[BitMap] Get bit") {
const Size2i dim{ 256, 256 };
BitMap bit_map{};
+ ERR_PRINT_OFF
+
CHECK_MESSAGE(bit_map.get_bitv(Point2i(128, 128)) == false, "Trying to access a bit outside of the BitMap's range should always return false");
bit_map.create(dim);
@@ -140,6 +154,8 @@ TEST_CASE("[BitMap] Get bit") {
CHECK(bit_map.get_bitv(Point2i(255, 255)) == true);
CHECK(bit_map.get_bitv(Point2i(256, 256)) == false);
CHECK(bit_map.get_bitv(Point2i(257, 257)) == false);
+
+ ERR_PRINT_ON
}
TEST_CASE("[BitMap] Set bit rect") {
@@ -158,6 +174,9 @@ TEST_CASE("[BitMap] Set bit rect") {
reset_bit_map(bit_map);
// Checking out of bounds handling.
+
+ ERR_PRINT_OFF
+
bit_map.set_bit_rect(Rect2i{ 128, 128, 256, 256 }, true);
CHECK(bit_map.get_true_bit_count() == 16384);
@@ -170,6 +189,8 @@ TEST_CASE("[BitMap] Set bit rect") {
bit_map.set_bit_rect(Rect2i{ -128, -128, 512, 512 }, true);
CHECK(bit_map.get_true_bit_count() == 65536);
+
+ ERR_PRINT_ON
}
TEST_CASE("[BitMap] Get true bit count") {
@@ -197,7 +218,9 @@ TEST_CASE("[BitMap] Get size") {
bit_map.create(dim);
CHECK(bit_map.get_size() == Size2i(256, 256));
+ ERR_PRINT_OFF
bit_map.create(Size2i(-1, 0));
+ ERR_PRINT_ON
CHECK_MESSAGE(bit_map.get_size() == Size2i(256, 256), "Invalid size should not be accepted by create");
bit_map.create(Size2i(256, 128));
@@ -219,7 +242,9 @@ TEST_CASE("[BitMap] Resize") {
CHECK_MESSAGE(bit_map.get_true_bit_count() == 50, "There should be 25 bits in the top left corner, and 25 bits in the bottom right corner");
bit_map.create(dim);
+ ERR_PRINT_OFF
bit_map.resize(Size2i(-1, 128));
+ ERR_PRINT_ON
CHECK_MESSAGE(bit_map.get_size() == Size2i(128, 128), "When an invalid size is given the bit map will keep its size");
bit_map.create(dim);
@@ -234,7 +259,9 @@ TEST_CASE("[BitMap] Resize") {
TEST_CASE("[BitMap] Grow and shrink mask") {
const Size2i dim{ 256, 256 };
BitMap bit_map{};
+ ERR_PRINT_OFF
bit_map.grow_mask(100, Rect2i(0, 0, 128, 128)); // Check if method does not crash when working with an uninitialized bit map.
+ ERR_PRINT_ON
CHECK_MESSAGE(bit_map.get_size() == Size2i(0, 0), "Size should still be equal to 0x0");
bit_map.create(dim);
@@ -331,7 +358,9 @@ TEST_CASE("[BitMap] Blit") {
Ref<BitMap> blit_bit_map{};
// Testing null reference to blit bit map.
+ ERR_PRINT_OFF
bit_map.blit(blit_pos, blit_bit_map);
+ ERR_PRINT_ON
blit_bit_map.instantiate();
@@ -378,7 +407,9 @@ TEST_CASE("[BitMap] Convert to image") {
BitMap bit_map{};
Ref<Image> img;
+ ERR_PRINT_OFF
img = bit_map.convert_to_image();
+ ERR_PRINT_ON
CHECK_MESSAGE(img.is_valid(), "We should receive a valid Image Object even if BitMap is not created yet");
CHECK_MESSAGE(img->get_format() == Image::FORMAT_L8, "We should receive a valid Image Object even if BitMap is not created yet");
CHECK_MESSAGE(img->get_size() == (Size2i(0, 0)), "Image should have no width or height, because BitMap has not yet been created");
@@ -392,7 +423,7 @@ TEST_CASE("[BitMap] Convert to image") {
bit_map.set_bit_rect(Rect2i(0, 0, 128, 128), true);
img = bit_map.convert_to_image();
CHECK_MESSAGE(img->get_pixel(0, 0).is_equal_approx(Color(1, 1, 1)), "BitMap's top-left quadrant is all 1's, so Image should be white");
- CHECK_MESSAGE(img->get_pixel(256, 256).is_equal_approx(Color(0, 0, 0)), "All other quadrants were 0's, so these should be black");
+ CHECK_MESSAGE(img->get_pixel(255, 255).is_equal_approx(Color(0, 0, 0)), "All other quadrants were 0's, so these should be black");
}
TEST_CASE("[BitMap] Clip to polygon") {
@@ -400,7 +431,9 @@ TEST_CASE("[BitMap] Clip to polygon") {
BitMap bit_map{};
Vector<Vector<Vector2>> polygons;
+ ERR_PRINT_OFF
polygons = bit_map.clip_opaque_to_polygons(Rect2i(0, 0, 128, 128));
+ ERR_PRINT_ON
CHECK_MESSAGE(polygons.size() == 0, "We should have no polygons, because the BitMap was not initialized");
bit_map.create(dim);
diff --git a/tests/scene/test_curve.h b/tests/scene/test_curve.h
index 4afd5b293f..4f95568b4a 100644
--- a/tests/scene/test_curve.h
+++ b/tests/scene/test_curve.h
@@ -240,8 +240,9 @@ TEST_CASE("[Curve3D] Linear sampling should return exact value") {
curve->add_point(Vector3(0, 0, 0));
curve->add_point(Vector3(len, 0, 0));
-
+ ERR_PRINT_OFF
real_t baked_length = curve->get_baked_length();
+ ERR_PRINT_ON
CHECK(len == baked_length);
for (int i = 0; i < len; i++) {
diff --git a/thirdparty/README.md b/thirdparty/README.md
index ed38fe0ec8..717cc835b0 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -217,8 +217,8 @@ Files extracted from upstream source:
## graphite
- Upstream: https://github.com/silnrsi/graphite
-- Version: 1.3.14 (80c52493ef42e6fe605a69dcddd2a691cd8a1380, 2021)
-- License: MPL-2.0
+- Version: 1.3.14 (27572742003b93dc53dc02c01c237b72c6c25f54, 2022)
+- License: MIT
Files extracted from upstream source:
@@ -548,7 +548,7 @@ Patch files are provided in `oidn/patches/`.
## openxr
- Upstream: https://github.com/KhronosGroup/OpenXR-SDK
-- Version: 1.0.25 (c16a18c99740ea5dd251e3af117e0e5aea4ceaa9, 2022)
+- Version: 1.0.26 (e2da9ce83a4388c9622da328bf48548471261290, 2022)
- License: Apache 2.0
Files extracted from upstream source:
diff --git a/thirdparty/graphite/include/graphite2/Font.h b/thirdparty/graphite/include/graphite2/Font.h
index fe569295a5..b0a1e36370 100644
--- a/thirdparty/graphite/include/graphite2/Font.h
+++ b/thirdparty/graphite/include/graphite2/Font.h
@@ -1,29 +1,5 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
- Alternatively, the contents of this file may be used under the terms
- of the Mozilla Public License (http://mozilla.org/MPL) or the GNU
- General Public License, as published by the Free Software Foundation,
- either version 2 of the License or (at your option) any later version.
-*/
+/* SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later */
+/* Copyright 2010, SIL International, All rights reserved. */
#pragma once
#include "graphite2/Types.h"
diff --git a/thirdparty/graphite/include/graphite2/Log.h b/thirdparty/graphite/include/graphite2/Log.h
index a5a6947fab..d83b1b90e7 100644
--- a/thirdparty/graphite/include/graphite2/Log.h
+++ b/thirdparty/graphite/include/graphite2/Log.h
@@ -1,29 +1,5 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
- Alternatively, the contents of this file may be used under the terms
- of the Mozilla Public License (http://mozilla.org/MPL) or the GNU
- General Public License, as published by the Free Software Foundation,
- either version 2 of the License or (at your option) any later version.
-*/
+/* SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later */
+/* Copyright 2010, SIL International, All rights reserved. */
#pragma once
#include <graphite2/Types.h>
diff --git a/thirdparty/graphite/include/graphite2/Segment.h b/thirdparty/graphite/include/graphite2/Segment.h
index 0e24f5d795..9969b4eb45 100644
--- a/thirdparty/graphite/include/graphite2/Segment.h
+++ b/thirdparty/graphite/include/graphite2/Segment.h
@@ -1,29 +1,5 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
- Alternatively, the contents of this file may be used under the terms
- of the Mozilla Public License (http://mozilla.org/MPL) or the GNU
- General Public License, as published by the Free Software Foundation,
- either version 2 of the License or (at your option) any later version.
-*/
+/* SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later */
+/* Copyright 2010, SIL International, All rights reserved. */
#pragma once
#include "graphite2/Types.h"
diff --git a/thirdparty/graphite/include/graphite2/Types.h b/thirdparty/graphite/include/graphite2/Types.h
index 916c91191b..32236a6195 100644
--- a/thirdparty/graphite/include/graphite2/Types.h
+++ b/thirdparty/graphite/include/graphite2/Types.h
@@ -1,29 +1,5 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
- Alternatively, the contents of this file may be used under the terms
- of the Mozilla Public License (http://mozilla.org/MPL) or the GNU
- General Public License, as published by the Free Software Foundation,
- either version 2 of the License or (at your option) any later version.
-*/
+/* SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later */
+/* Copyright 2010, SIL International, All rights reserved. */
#pragma once
#include <stddef.h>
diff --git a/thirdparty/graphite/src/CmapCache.cpp b/thirdparty/graphite/src/CmapCache.cpp
index d070019a34..ac860e9ee2 100644
--- a/thirdparty/graphite/src/CmapCache.cpp
+++ b/thirdparty/graphite/src/CmapCache.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "inc/Main.h"
#include "inc/CmapCache.h"
diff --git a/thirdparty/graphite/src/Code.cpp b/thirdparty/graphite/src/Code.cpp
index ec5ab298ca..4a53ae871b 100644
--- a/thirdparty/graphite/src/Code.cpp
+++ b/thirdparty/graphite/src/Code.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
// This class represents loaded graphite stack machine code. It performs
// basic sanity checks, on the incoming code to prevent more obvious problems
// from crashing graphite.
diff --git a/thirdparty/graphite/src/Collider.cpp b/thirdparty/graphite/src/Collider.cpp
index 1929b39a58..ca36d4550a 100644
--- a/thirdparty/graphite/src/Collider.cpp
+++ b/thirdparty/graphite/src/Collider.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include <algorithm>
#include <limits>
#include <cmath>
diff --git a/thirdparty/graphite/src/Decompressor.cpp b/thirdparty/graphite/src/Decompressor.cpp
index 42dc9113e5..f9f1e28e5b 100644
--- a/thirdparty/graphite/src/Decompressor.cpp
+++ b/thirdparty/graphite/src/Decompressor.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2015, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2015, SIL International, All rights reserved.
+
#include <cassert>
#include "inc/Decompressor.h"
diff --git a/thirdparty/graphite/src/Face.cpp b/thirdparty/graphite/src/Face.cpp
index 3e106050d7..4dd5a780cf 100644
--- a/thirdparty/graphite/src/Face.cpp
+++ b/thirdparty/graphite/src/Face.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include <cstring>
#include "graphite2/Segment.h"
#include "inc/CmapCache.h"
diff --git a/thirdparty/graphite/src/FeatureMap.cpp b/thirdparty/graphite/src/FeatureMap.cpp
index 014a88fd08..992be05540 100644
--- a/thirdparty/graphite/src/FeatureMap.cpp
+++ b/thirdparty/graphite/src/FeatureMap.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include <cstring>
#include "inc/Main.h"
diff --git a/thirdparty/graphite/src/FileFace.cpp b/thirdparty/graphite/src/FileFace.cpp
index 7e663876a7..2e41044688 100644
--- a/thirdparty/graphite/src/FileFace.cpp
+++ b/thirdparty/graphite/src/FileFace.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2012, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2012, SIL International, All rights reserved.
+
#include <cstring>
#include "inc/FileFace.h"
diff --git a/thirdparty/graphite/src/Font.cpp b/thirdparty/graphite/src/Font.cpp
index faf3715f9d..bffb4223d5 100644
--- a/thirdparty/graphite/src/Font.cpp
+++ b/thirdparty/graphite/src/Font.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "inc/Face.h"
#include "inc/Font.h"
#include "inc/GlyphCache.h"
diff --git a/thirdparty/graphite/src/GlyphCache.cpp b/thirdparty/graphite/src/GlyphCache.cpp
index 282bdc18fd..30479bdc4d 100644
--- a/thirdparty/graphite/src/GlyphCache.cpp
+++ b/thirdparty/graphite/src/GlyphCache.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2012, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2012, SIL International, All rights reserved.
+
#include "graphite2/Font.h"
#include "inc/Main.h"
@@ -44,12 +21,18 @@ namespace
// variable length structures.
template<typename W>
- class _glat_iterator : public std::iterator<std::input_iterator_tag, std::pair<sparse::key_type, sparse::mapped_type> >
+ class _glat_iterator
{
unsigned short key() const { return uint16(be::peek<W>(_e) + _n); }
unsigned int run() const { return be::peek<W>(_e+sizeof(W)); }
void advance_entry() { _n = 0; _e = _v; be::skip<W>(_v,2); }
public:
+ using iterator_category = std::input_iterator_tag;
+ using value_type = std::pair<sparse::key_type, sparse::mapped_type>;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type *;
+ using reference = value_type &;
+
_glat_iterator(const void * glat=0) : _e(reinterpret_cast<const byte *>(glat)), _v(_e+2*sizeof(W)), _n(0) {}
_glat_iterator<W> & operator ++ () {
diff --git a/thirdparty/graphite/src/GlyphFace.cpp b/thirdparty/graphite/src/GlyphFace.cpp
index bc5e63a9f0..d9408f556b 100644
--- a/thirdparty/graphite/src/GlyphFace.cpp
+++ b/thirdparty/graphite/src/GlyphFace.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "inc/GlyphFace.h"
diff --git a/thirdparty/graphite/src/Intervals.cpp b/thirdparty/graphite/src/Intervals.cpp
index 0fe99a127a..b223a67f56 100644
--- a/thirdparty/graphite/src/Intervals.cpp
+++ b/thirdparty/graphite/src/Intervals.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include <algorithm>
#include <cmath>
#include <limits>
diff --git a/thirdparty/graphite/src/Justifier.cpp b/thirdparty/graphite/src/Justifier.cpp
index 78c11e6a51..0bb18225b9 100644
--- a/thirdparty/graphite/src/Justifier.cpp
+++ b/thirdparty/graphite/src/Justifier.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2012, SIL International, All rights reserved.
- Copyright 2012, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "inc/Segment.h"
#include "graphite2/Font.h"
diff --git a/thirdparty/graphite/src/NameTable.cpp b/thirdparty/graphite/src/NameTable.cpp
index d42b7f95bd..85892f179c 100644
--- a/thirdparty/graphite/src/NameTable.cpp
+++ b/thirdparty/graphite/src/NameTable.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "inc/Main.h"
#include "inc/Endian.h"
diff --git a/thirdparty/graphite/src/Pass.cpp b/thirdparty/graphite/src/Pass.cpp
index 47ae2064f7..986fed83b1 100644
--- a/thirdparty/graphite/src/Pass.cpp
+++ b/thirdparty/graphite/src/Pass.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "inc/Main.h"
#include "inc/debug.h"
#include "inc/Endian.h"
@@ -194,7 +171,7 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su
m_cPConstraint = vm::Machine::Code(true, pcCode, pcCode + pass_constraint_len,
precontext[0], be::peek<uint16>(sort_keys), *m_silf, face, PASS_TYPE_UNKNOWN);
if (e.test(!m_cPConstraint, E_OUTOFMEM)
- || e.test(m_cPConstraint.status() != Code::loaded, m_cPConstraint.status() + E_CODEFAILURE))
+ || e.test(m_cPConstraint.status() != Code::loaded, int(m_cPConstraint.status()) + E_CODEFAILURE))
return face.error(e);
face.error_context(face.error_context() - 1);
}
@@ -266,8 +243,8 @@ bool Pass::readRules(const byte * rule_map, const size_t num_entries,
r->constraint = new (m_codes+n*2-1) vm::Machine::Code(true, rc_begin, rc_end, r->preContext, r->sort, *m_silf, face, pt, &prog_pool_free);
if (e.test(!r->action || !r->constraint, E_OUTOFMEM)
- || e.test(r->action->status() != Code::loaded, r->action->status() + E_CODEFAILURE)
- || e.test(r->constraint->status() != Code::loaded, r->constraint->status() + E_CODEFAILURE)
+ || e.test(r->action->status() != Code::loaded, int(r->action->status()) + E_CODEFAILURE)
+ || e.test(r->constraint->status() != Code::loaded, int(r->constraint->status()) + E_CODEFAILURE)
|| e.test(!r->constraint->immutable(), E_MUTABLECCODE))
return face.error(e);
}
diff --git a/thirdparty/graphite/src/Position.cpp b/thirdparty/graphite/src/Position.cpp
index d2fdbd4e7c..a727f61664 100644
--- a/thirdparty/graphite/src/Position.cpp
+++ b/thirdparty/graphite/src/Position.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "inc/Position.h"
#include <cmath>
diff --git a/thirdparty/graphite/src/Segment.cpp b/thirdparty/graphite/src/Segment.cpp
index 62edd4250f..7bb3d132fa 100644
--- a/thirdparty/graphite/src/Segment.cpp
+++ b/thirdparty/graphite/src/Segment.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "inc/UtfCodec.h"
#include <cstring>
#include <cstdlib>
diff --git a/thirdparty/graphite/src/Silf.cpp b/thirdparty/graphite/src/Silf.cpp
index 44d3c96171..51a7473627 100644
--- a/thirdparty/graphite/src/Silf.cpp
+++ b/thirdparty/graphite/src/Silf.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include <cstdlib>
#include "graphite2/Segment.h"
#include "inc/debug.h"
diff --git a/thirdparty/graphite/src/Slot.cpp b/thirdparty/graphite/src/Slot.cpp
index 0fdb098952..040e90d109 100644
--- a/thirdparty/graphite/src/Slot.cpp
+++ b/thirdparty/graphite/src/Slot.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "inc/Segment.h"
#include "inc/Slot.h"
#include "inc/Silf.h"
diff --git a/thirdparty/graphite/src/Sparse.cpp b/thirdparty/graphite/src/Sparse.cpp
index aa43113669..746dfc9522 100644
--- a/thirdparty/graphite/src/Sparse.cpp
+++ b/thirdparty/graphite/src/Sparse.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
#include <cassert>
#include "inc/Sparse.h"
#include "inc/bits.h"
diff --git a/thirdparty/graphite/src/TtfUtil.cpp b/thirdparty/graphite/src/TtfUtil.cpp
index 2eb46a11fb..47940112ee 100644
--- a/thirdparty/graphite/src/TtfUtil.cpp
+++ b/thirdparty/graphite/src/TtfUtil.cpp
@@ -1,39 +1,14 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
-/*--------------------------------------------------------------------*//*:Ignore this sentence.
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
-File: TtfUtil.cpp
+/*
Responsibility: Alan Ward
Last reviewed: Not yet.
Description
Implements the methods for TtfUtil class. This file should remain portable to any C++
environment by only using standard C++ and the TTF structurs defined in Tt.h.
--------------------------------------------------------------------------------*//*:End Ignore*/
+*/
/***********************************************************************************************
diff --git a/thirdparty/graphite/src/UtfCodec.cpp b/thirdparty/graphite/src/UtfCodec.cpp
index a944bbf9d0..9156bad00f 100644
--- a/thirdparty/graphite/src/UtfCodec.cpp
+++ b/thirdparty/graphite/src/UtfCodec.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "inc/UtfCodec.h"
//using namespace graphite2;
diff --git a/thirdparty/graphite/src/call_machine.cpp b/thirdparty/graphite/src/call_machine.cpp
index fcd8a0c2c1..7d9d1ef315 100644
--- a/thirdparty/graphite/src/call_machine.cpp
+++ b/thirdparty/graphite/src/call_machine.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
// This call threaded interpreter implmentation for machine.h
// Author: Tim Eves
diff --git a/thirdparty/graphite/src/direct_machine.cpp b/thirdparty/graphite/src/direct_machine.cpp
index 86206cfe37..e3a28fa536 100644
--- a/thirdparty/graphite/src/direct_machine.cpp
+++ b/thirdparty/graphite/src/direct_machine.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
// This direct threaded interpreter implmentation for machine.h
// Author: Tim Eves
diff --git a/thirdparty/graphite/src/gr_char_info.cpp b/thirdparty/graphite/src/gr_char_info.cpp
index 612f9ba694..1345fae847 100644
--- a/thirdparty/graphite/src/gr_char_info.cpp
+++ b/thirdparty/graphite/src/gr_char_info.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include <cassert>
#include "graphite2/Segment.h"
#include "inc/CharInfo.h"
diff --git a/thirdparty/graphite/src/gr_face.cpp b/thirdparty/graphite/src/gr_face.cpp
index baa469727b..6e80036113 100644
--- a/thirdparty/graphite/src/gr_face.cpp
+++ b/thirdparty/graphite/src/gr_face.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "graphite2/Font.h"
#include "inc/Face.h"
#include "inc/FileFace.h"
diff --git a/thirdparty/graphite/src/gr_features.cpp b/thirdparty/graphite/src/gr_features.cpp
index a560e053f2..67208f14e6 100644
--- a/thirdparty/graphite/src/gr_features.cpp
+++ b/thirdparty/graphite/src/gr_features.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "graphite2/Font.h"
#include "inc/Face.h"
#include "inc/FeatureMap.h"
diff --git a/thirdparty/graphite/src/gr_font.cpp b/thirdparty/graphite/src/gr_font.cpp
index 724cc83c13..fc85112e24 100644
--- a/thirdparty/graphite/src/gr_font.cpp
+++ b/thirdparty/graphite/src/gr_font.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include "graphite2/Font.h"
#include "inc/Font.h"
diff --git a/thirdparty/graphite/src/gr_logging.cpp b/thirdparty/graphite/src/gr_logging.cpp
index 8f1e675e62..c6f03fd616 100644
--- a/thirdparty/graphite/src/gr_logging.cpp
+++ b/thirdparty/graphite/src/gr_logging.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#include <cstdio>
#include "graphite2/Log.h"
diff --git a/thirdparty/graphite/src/gr_segment.cpp b/thirdparty/graphite/src/gr_segment.cpp
index 7a27e9c562..7592296c04 100644
--- a/thirdparty/graphite/src/gr_segment.cpp
+++ b/thirdparty/graphite/src/gr_segment.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "graphite2/Segment.h"
#include "inc/UtfCodec.h"
#include "inc/Segment.h"
diff --git a/thirdparty/graphite/src/gr_slot.cpp b/thirdparty/graphite/src/gr_slot.cpp
index a3c6b46a7f..a6adefec61 100644
--- a/thirdparty/graphite/src/gr_slot.cpp
+++ b/thirdparty/graphite/src/gr_slot.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#include "graphite2/Segment.h"
#include "inc/Segment.h"
#include "inc/Slot.h"
diff --git a/thirdparty/graphite/src/inc/CharInfo.h b/thirdparty/graphite/src/inc/CharInfo.h
index 01e7e31ac9..0fbfefda4d 100644
--- a/thirdparty/graphite/src/inc/CharInfo.h
+++ b/thirdparty/graphite/src/inc/CharInfo.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include "inc/Main.h"
diff --git a/thirdparty/graphite/src/inc/CmapCache.h b/thirdparty/graphite/src/inc/CmapCache.h
index 7820c958b0..b18ce2929b 100644
--- a/thirdparty/graphite/src/inc/CmapCache.h
+++ b/thirdparty/graphite/src/inc/CmapCache.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include "inc/Main.h"
diff --git a/thirdparty/graphite/src/inc/Code.h b/thirdparty/graphite/src/inc/Code.h
index 3cee67c81d..24e92e429d 100644
--- a/thirdparty/graphite/src/inc/Code.h
+++ b/thirdparty/graphite/src/inc/Code.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
// This class represents loaded graphite stack machine code. It performs
// basic sanity checks, on the incoming code to prevent more obvious problems
// from crashing graphite.
diff --git a/thirdparty/graphite/src/inc/Collider.h b/thirdparty/graphite/src/inc/Collider.h
index 71e8400501..3a922660d4 100644
--- a/thirdparty/graphite/src/inc/Collider.h
+++ b/thirdparty/graphite/src/inc/Collider.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include "inc/List.h"
diff --git a/thirdparty/graphite/src/inc/Compression.h b/thirdparty/graphite/src/inc/Compression.h
index 9fe10e025d..4f5193b931 100644
--- a/thirdparty/graphite/src/inc/Compression.h
+++ b/thirdparty/graphite/src/inc/Compression.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2015, SIL International, All rights reserved.
- Copyright 2015, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
diff --git a/thirdparty/graphite/src/inc/Decompressor.h b/thirdparty/graphite/src/inc/Decompressor.h
index 10f21b7af1..1113e004c1 100644
--- a/thirdparty/graphite/src/inc/Decompressor.h
+++ b/thirdparty/graphite/src/inc/Decompressor.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2015, SIL International, All rights reserved.
- Copyright 2015, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
diff --git a/thirdparty/graphite/src/inc/Endian.h b/thirdparty/graphite/src/inc/Endian.h
index 56ecfd8667..7bd201f92b 100644
--- a/thirdparty/graphite/src/inc/Endian.h
+++ b/thirdparty/graphite/src/inc/Endian.h
@@ -1,30 +1,5 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
-
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
/*
Description:
A set of fast template based decoders for decoding values of any C integer
diff --git a/thirdparty/graphite/src/inc/Error.h b/thirdparty/graphite/src/inc/Error.h
index 2b7ab763a2..7e14c8e754 100644
--- a/thirdparty/graphite/src/inc/Error.h
+++ b/thirdparty/graphite/src/inc/Error.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2013, SIL International, All rights reserved.
- Copyright 2013, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
// numbers are explicitly assigned for future proofing
@@ -38,7 +15,7 @@ public:
operator bool() { return (_e != 0); }
int error() { return _e; }
void error(int e) { _e = e; }
- bool test(bool pr, int err) { return (_e = int(pr) * err); }
+ bool test(bool pr, int err) { return (_e = pr ? err : 0); }
private:
int _e;
@@ -56,7 +33,7 @@ enum errcontext {
EC_ARULEMAP = 9 // in Silf %d, pass %d, state %d
};
-enum errors {
+enum error {
E_OUTOFMEM = 1, // Out of memory
E_NOGLYPHS = 2, // There are no glyphs in the font
E_BADUPEM = 3, // The units per em for the font is bad (0)
@@ -125,7 +102,7 @@ enum errors {
E_BADJUMPCODE = 65, // Code jumps past end of op codes
E_CODEBADARGS = 66, // Code arguments exhausted
E_CODENORETURN = 67, // Missing return type op code at end of code
- E_CODENESTEDCTXT = 68, // Nested context encountered in code
+ E_CODENESTEDCTXT = 68, // Nested context encountered in code
// Compression errors
E_BADSCHEME = 69,
E_SHRINKERFAILED = 70,
diff --git a/thirdparty/graphite/src/inc/Face.h b/thirdparty/graphite/src/inc/Face.h
index 355c5aa0d3..fac7fd4b8e 100644
--- a/thirdparty/graphite/src/inc/Face.h
+++ b/thirdparty/graphite/src/inc/Face.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include <cstdio>
diff --git a/thirdparty/graphite/src/inc/FeatureMap.h b/thirdparty/graphite/src/inc/FeatureMap.h
index 0f05e941a2..a98008f738 100644
--- a/thirdparty/graphite/src/inc/FeatureMap.h
+++ b/thirdparty/graphite/src/inc/FeatureMap.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include "inc/Main.h"
#include "inc/FeatureVal.h"
diff --git a/thirdparty/graphite/src/inc/FeatureVal.h b/thirdparty/graphite/src/inc/FeatureVal.h
index cd3f93b2b5..35397f0f3b 100644
--- a/thirdparty/graphite/src/inc/FeatureVal.h
+++ b/thirdparty/graphite/src/inc/FeatureVal.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include <cstring>
#include <cassert>
diff --git a/thirdparty/graphite/src/inc/FileFace.h b/thirdparty/graphite/src/inc/FileFace.h
index 35927847f8..521942ee85 100644
--- a/thirdparty/graphite/src/inc/FileFace.h
+++ b/thirdparty/graphite/src/inc/FileFace.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2012, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2012, SIL International, All rights reserved.
+
#pragma once
//#include "inc/FeatureMap.h"
diff --git a/thirdparty/graphite/src/inc/Font.h b/thirdparty/graphite/src/inc/Font.h
index 9bc9ffb510..537ad9de0e 100644
--- a/thirdparty/graphite/src/inc/Font.h
+++ b/thirdparty/graphite/src/inc/Font.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include <cassert>
#include "graphite2/Font.h"
diff --git a/thirdparty/graphite/src/inc/GlyphCache.h b/thirdparty/graphite/src/inc/GlyphCache.h
index 7d5324e522..5f6d3eea18 100644
--- a/thirdparty/graphite/src/inc/GlyphCache.h
+++ b/thirdparty/graphite/src/inc/GlyphCache.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2012, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2012, SIL International, All rights reserved.
+
#pragma once
diff --git a/thirdparty/graphite/src/inc/GlyphFace.h b/thirdparty/graphite/src/inc/GlyphFace.h
index fc29056146..f964c0581a 100644
--- a/thirdparty/graphite/src/inc/GlyphFace.h
+++ b/thirdparty/graphite/src/inc/GlyphFace.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include "inc/Main.h"
diff --git a/thirdparty/graphite/src/inc/Intervals.h b/thirdparty/graphite/src/inc/Intervals.h
index 81d23187b6..15427d428a 100644
--- a/thirdparty/graphite/src/inc/Intervals.h
+++ b/thirdparty/graphite/src/inc/Intervals.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include <utility>
diff --git a/thirdparty/graphite/src/inc/List.h b/thirdparty/graphite/src/inc/List.h
index a3b7a77961..3a36c17a7a 100644
--- a/thirdparty/graphite/src/inc/List.h
+++ b/thirdparty/graphite/src/inc/List.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
// designed to have a limited subset of the std::vector api
#pragma once
diff --git a/thirdparty/graphite/src/inc/Machine.h b/thirdparty/graphite/src/inc/Machine.h
index b23819fb98..5ceedc296d 100644
--- a/thirdparty/graphite/src/inc/Machine.h
+++ b/thirdparty/graphite/src/inc/Machine.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
// This general interpreter interface.
// Author: Tim Eves
diff --git a/thirdparty/graphite/src/inc/Main.h b/thirdparty/graphite/src/inc/Main.h
index ebf02dd553..6a412efeca 100644
--- a/thirdparty/graphite/src/inc/Main.h
+++ b/thirdparty/graphite/src/inc/Main.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include <cstdlib>
diff --git a/thirdparty/graphite/src/inc/NameTable.h b/thirdparty/graphite/src/inc/NameTable.h
index 0fdbeb4d85..5a7913ddc5 100644
--- a/thirdparty/graphite/src/inc/NameTable.h
+++ b/thirdparty/graphite/src/inc/NameTable.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include <graphite2/Segment.h>
diff --git a/thirdparty/graphite/src/inc/Pass.h b/thirdparty/graphite/src/inc/Pass.h
index e687a87d8c..fb507e6a04 100644
--- a/thirdparty/graphite/src/inc/Pass.h
+++ b/thirdparty/graphite/src/inc/Pass.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include <cstdlib>
diff --git a/thirdparty/graphite/src/inc/Position.h b/thirdparty/graphite/src/inc/Position.h
index 510e4f4c41..554acc411e 100644
--- a/thirdparty/graphite/src/inc/Position.h
+++ b/thirdparty/graphite/src/inc/Position.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
namespace graphite2 {
diff --git a/thirdparty/graphite/src/inc/Rule.h b/thirdparty/graphite/src/inc/Rule.h
index 5964e003a6..09025dc799 100644
--- a/thirdparty/graphite/src/inc/Rule.h
+++ b/thirdparty/graphite/src/inc/Rule.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
#pragma once
diff --git a/thirdparty/graphite/src/inc/Segment.h b/thirdparty/graphite/src/inc/Segment.h
index 6cf83408d4..a3a8eef648 100644
--- a/thirdparty/graphite/src/inc/Segment.h
+++ b/thirdparty/graphite/src/inc/Segment.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include "inc/Main.h"
diff --git a/thirdparty/graphite/src/inc/Silf.h b/thirdparty/graphite/src/inc/Silf.h
index edc0c3a16d..6fe2aaef1f 100644
--- a/thirdparty/graphite/src/inc/Silf.h
+++ b/thirdparty/graphite/src/inc/Silf.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include "graphite2/Font.h"
diff --git a/thirdparty/graphite/src/inc/Slot.h b/thirdparty/graphite/src/inc/Slot.h
index df39d9a3bb..0d8571d336 100644
--- a/thirdparty/graphite/src/inc/Slot.h
+++ b/thirdparty/graphite/src/inc/Slot.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
#include "graphite2/Types.h"
diff --git a/thirdparty/graphite/src/inc/Sparse.h b/thirdparty/graphite/src/inc/Sparse.h
index fcda890171..3c5d33ae5d 100644
--- a/thirdparty/graphite/src/inc/Sparse.h
+++ b/thirdparty/graphite/src/inc/Sparse.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
#pragma once
#include <iterator>
#include <utility>
diff --git a/thirdparty/graphite/src/inc/TtfTypes.h b/thirdparty/graphite/src/inc/TtfTypes.h
index ae67915304..e4fd49f943 100644
--- a/thirdparty/graphite/src/inc/TtfTypes.h
+++ b/thirdparty/graphite/src/inc/TtfTypes.h
@@ -1,39 +1,14 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
-#pragma once
-/*--------------------------------------------------------------------*//*:Ignore this sentence.
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
-File: TtfTypes.h
+#pragma once
+/*
Responsibility: Tim Eves
Last reviewed: Not yet.
Description:
Provides types required to represent the TTF basic types.
--------------------------------------------------------------------------------*//*:End Ignore*/
+*/
//**********************************************************************************************
diff --git a/thirdparty/graphite/src/inc/TtfUtil.h b/thirdparty/graphite/src/inc/TtfUtil.h
index 3952bc06fb..1ccab42fb8 100644
--- a/thirdparty/graphite/src/inc/TtfUtil.h
+++ b/thirdparty/graphite/src/inc/TtfUtil.h
@@ -1,39 +1,13 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
-#pragma once
-/*--------------------------------------------------------------------*//*:Ignore this sentence.
-
-File: TtfUtil.h
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+/*
Responsibility: Alan Ward
Last reviewed: Not yet.
Description:
Utility class for handling TrueType font files.
-----------------------------------------------------------------------------------------------*/
+*/
+#pragma once
#include <cstddef>
diff --git a/thirdparty/graphite/src/inc/UtfCodec.h b/thirdparty/graphite/src/inc/UtfCodec.h
index 24a343d8d9..bab652c119 100644
--- a/thirdparty/graphite/src/inc/UtfCodec.h
+++ b/thirdparty/graphite/src/inc/UtfCodec.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
#pragma once
#include <cstdlib>
diff --git a/thirdparty/graphite/src/inc/bits.h b/thirdparty/graphite/src/inc/bits.h
index 9365986a10..168ff256d3 100644
--- a/thirdparty/graphite/src/inc/bits.h
+++ b/thirdparty/graphite/src/inc/bits.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2012, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2012, SIL International, All rights reserved.
+
#pragma once
namespace graphite2
diff --git a/thirdparty/graphite/src/inc/debug.h b/thirdparty/graphite/src/inc/debug.h
index 97175eb2cc..5b9c63872b 100644
--- a/thirdparty/graphite/src/inc/debug.h
+++ b/thirdparty/graphite/src/inc/debug.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
// debug.h
//
// Created on: 22 Dec 2011
diff --git a/thirdparty/graphite/src/inc/json.h b/thirdparty/graphite/src/inc/json.h
index 554cd9a3d1..72011ef198 100644
--- a/thirdparty/graphite/src/inc/json.h
+++ b/thirdparty/graphite/src/inc/json.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
// JSON pretty printer for graphite font debug output logging.
// Created on: 15 Dec 2011
// Author: Tim Eves
diff --git a/thirdparty/graphite/src/inc/locale2lcid.h b/thirdparty/graphite/src/inc/locale2lcid.h
index 25d5c0a3c8..e591c42b28 100644
--- a/thirdparty/graphite/src/inc/locale2lcid.h
+++ b/thirdparty/graphite/src/inc/locale2lcid.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
#pragma once
#include <cstring>
#include <cassert>
diff --git a/thirdparty/graphite/src/inc/opcode_table.h b/thirdparty/graphite/src/inc/opcode_table.h
index cb5acde9a4..01a84831bc 100644
--- a/thirdparty/graphite/src/inc/opcode_table.h
+++ b/thirdparty/graphite/src/inc/opcode_table.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
// This file will be pulled into and integrated into a machine implmentation
// DO NOT build directly
#pragma once
diff --git a/thirdparty/graphite/src/inc/opcodes.h b/thirdparty/graphite/src/inc/opcodes.h
index ff2f1741e2..10ba177229 100644
--- a/thirdparty/graphite/src/inc/opcodes.h
+++ b/thirdparty/graphite/src/inc/opcodes.h
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2010, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2010, SIL International, All rights reserved.
+
#pragma once
// This file will be pulled into and integrated into a machine implmentation
// DO NOT build directly and under no circumstances ever #include headers in
diff --git a/thirdparty/graphite/src/json.cpp b/thirdparty/graphite/src/json.cpp
index 25f2190f71..7990654eb8 100644
--- a/thirdparty/graphite/src/json.cpp
+++ b/thirdparty/graphite/src/json.cpp
@@ -1,29 +1,6 @@
-/* GRAPHITE2 LICENSING
-
- Copyright 2011, SIL International
- All rights reserved.
-
- This library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2.1 of License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should also have received a copy of the GNU Lesser General Public
- License along with this library in the file named "LICENSE".
- If not, write to the Free Software Foundation, 51 Franklin Street,
- Suite 500, Boston, MA 02110-1335, USA or visit their web page on the
- internet at http://www.fsf.org/licenses/lgpl.html.
-
-Alternatively, the contents of this file may be used under the terms of the
-Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
-License, as published by the Free Software Foundation, either version 2
-of the License or (at your option) any later version.
-*/
+// SPDX-License-Identifier: MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later
+// Copyright 2011, SIL International, All rights reserved.
+
// JSON debug logging
// Author: Tim Eves
diff --git a/thirdparty/openxr/include/openxr/openxr.h b/thirdparty/openxr/include/openxr/openxr.h
index 6f9b71aa68..3663f9f14d 100644
--- a/thirdparty/openxr/include/openxr/openxr.h
+++ b/thirdparty/openxr/include/openxr/openxr.h
@@ -25,7 +25,7 @@ extern "C" {
((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL))
// OpenXR current version number.
-#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 25)
+#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 26)
#define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL)
#define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL)
@@ -450,6 +450,15 @@ typedef enum XrStructureType {
XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META = 1000227000,
XR_TYPE_PERFORMANCE_METRICS_STATE_META = 1000232001,
XR_TYPE_PERFORMANCE_METRICS_COUNTER_META = 1000232002,
+ XR_TYPE_SYSTEM_HEADSET_ID_PROPERTIES_META = 1000245000,
+ XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC = 1000317001,
+ XR_TYPE_PASSTHROUGH_COLOR_HTC = 1000317002,
+ XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC = 1000317003,
+ XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC = 1000317004,
+ XR_TYPE_FOVEATION_APPLY_INFO_HTC = 1000318000,
+ XR_TYPE_FOVEATION_DYNAMIC_MODE_INFO_HTC = 1000318001,
+ XR_TYPE_FOVEATION_CUSTOM_MODE_INFO_HTC = 1000318002,
+ XR_TYPE_ACTIVE_ACTION_SET_PRIORITIES_EXT = 1000373000,
XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR,
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR,
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR,
@@ -536,6 +545,7 @@ typedef enum XrObjectType {
XR_OBJECT_TYPE_PASSTHROUGH_LAYER_FB = 1000118002,
XR_OBJECT_TYPE_GEOMETRY_INSTANCE_FB = 1000118004,
XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT = 1000142000,
+ XR_OBJECT_TYPE_PASSTHROUGH_HTC = 1000317000,
XR_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrObjectType;
typedef XrFlags64 XrInstanceCreateFlags;
@@ -1631,7 +1641,7 @@ typedef struct XrBindingModificationsKHR {
#define XR_EXT_performance_settings 1
-#define XR_EXT_performance_settings_SPEC_VERSION 3
+#define XR_EXT_performance_settings_SPEC_VERSION 4
#define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings"
typedef enum XrPerfSettingsDomainEXT {
@@ -3007,7 +3017,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB(
#define XR_HTCX_vive_tracker_interaction 1
-#define XR_HTCX_vive_tracker_interaction_SPEC_VERSION 1
+#define XR_HTCX_vive_tracker_interaction_SPEC_VERSION 2
#define XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME "XR_HTCX_vive_tracker_interaction"
typedef struct XrViveTrackerPathsHTCX {
XrStructureType type;
@@ -3043,7 +3053,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateViveTrackerPathsHTCX(
#define XR_FACIAL_EXPRESSION_LIP_COUNT_HTC 37
XR_DEFINE_HANDLE(XrFacialTrackerHTC)
-#define XR_HTC_facial_tracking_SPEC_VERSION 1
+#define XR_HTC_facial_tracking_SPEC_VERSION 2
#define XR_HTC_FACIAL_TRACKING_EXTENSION_NAME "XR_HTC_facial_tracking"
typedef enum XrEyeExpressionHTC {
@@ -4508,7 +4518,7 @@ typedef struct XrCompositionLayerSettingsFB {
#define XR_META_performance_metrics 1
-#define XR_META_performance_metrics_SPEC_VERSION 1
+#define XR_META_performance_metrics_SPEC_VERSION 2
#define XR_META_PERFORMANCE_METRICS_EXTENSION_NAME "XR_META_performance_metrics"
typedef enum XrPerformanceMetricsCounterUnitMETA {
@@ -4570,10 +4580,167 @@ XRAPI_ATTR XrResult XRAPI_CALL xrQueryPerformanceMetricsCounterMETA(
#endif /* !XR_NO_PROTOTYPES */
+#define XR_META_headset_id 1
+#define XR_META_headset_id_SPEC_VERSION 1
+#define XR_META_HEADSET_ID_EXTENSION_NAME "XR_META_headset_id"
+// XrSystemHeadsetIdPropertiesMETA extends XrSystemProperties
+typedef struct XrSystemHeadsetIdPropertiesMETA {
+ XrStructureType type;
+ void* XR_MAY_ALIAS next;
+ XrUuidEXT id;
+} XrSystemHeadsetIdPropertiesMETA;
+
+
+
#define XR_EXT_uuid 1
#define XR_EXT_uuid_SPEC_VERSION 1
#define XR_EXT_UUID_EXTENSION_NAME "XR_EXT_uuid"
+
+#define XR_HTC_passthrough 1
+XR_DEFINE_HANDLE(XrPassthroughHTC)
+#define XR_HTC_passthrough_SPEC_VERSION 1
+#define XR_HTC_PASSTHROUGH_EXTENSION_NAME "XR_HTC_passthrough"
+
+typedef enum XrPassthroughFormHTC {
+ XR_PASSTHROUGH_FORM_PLANAR_HTC = 0,
+ XR_PASSTHROUGH_FORM_PROJECTED_HTC = 1,
+ XR_PASSTHROUGH_FORM_MAX_ENUM_HTC = 0x7FFFFFFF
+} XrPassthroughFormHTC;
+typedef struct XrPassthroughCreateInfoHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ XrPassthroughFormHTC form;
+} XrPassthroughCreateInfoHTC;
+
+typedef struct XrPassthroughColorHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ float alpha;
+} XrPassthroughColorHTC;
+
+// XrPassthroughMeshTransformInfoHTC extends XrCompositionLayerPassthroughHTC
+typedef struct XrPassthroughMeshTransformInfoHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ uint32_t vertexCount;
+ const XrVector3f* vertices;
+ uint32_t indexCount;
+ const uint32_t* indices;
+ XrSpace baseSpace;
+ XrTime time;
+ XrPosef pose;
+ XrVector3f scale;
+} XrPassthroughMeshTransformInfoHTC;
+
+typedef struct XrCompositionLayerPassthroughHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ XrCompositionLayerFlags layerFlags;
+ XrSpace space;
+ XrPassthroughHTC passthrough;
+ XrPassthroughColorHTC color;
+} XrCompositionLayerPassthroughHTC;
+
+typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughHTC)(XrSession session, const XrPassthroughCreateInfoHTC* createInfo, XrPassthroughHTC* passthrough);
+typedef XrResult (XRAPI_PTR *PFN_xrDestroyPassthroughHTC)(XrPassthroughHTC passthrough);
+
+#ifndef XR_NO_PROTOTYPES
+#ifdef XR_EXTENSION_PROTOTYPES
+XRAPI_ATTR XrResult XRAPI_CALL xrCreatePassthroughHTC(
+ XrSession session,
+ const XrPassthroughCreateInfoHTC* createInfo,
+ XrPassthroughHTC* passthrough);
+
+XRAPI_ATTR XrResult XRAPI_CALL xrDestroyPassthroughHTC(
+ XrPassthroughHTC passthrough);
+#endif /* XR_EXTENSION_PROTOTYPES */
+#endif /* !XR_NO_PROTOTYPES */
+
+
+#define XR_HTC_foveation 1
+#define XR_HTC_foveation_SPEC_VERSION 1
+#define XR_HTC_FOVEATION_EXTENSION_NAME "XR_HTC_foveation"
+
+typedef enum XrFoveationModeHTC {
+ XR_FOVEATION_MODE_DISABLE_HTC = 0,
+ XR_FOVEATION_MODE_FIXED_HTC = 1,
+ XR_FOVEATION_MODE_DYNAMIC_HTC = 2,
+ XR_FOVEATION_MODE_CUSTOM_HTC = 3,
+ XR_FOVEATION_MODE_MAX_ENUM_HTC = 0x7FFFFFFF
+} XrFoveationModeHTC;
+
+typedef enum XrFoveationLevelHTC {
+ XR_FOVEATION_LEVEL_NONE_HTC = 0,
+ XR_FOVEATION_LEVEL_LOW_HTC = 1,
+ XR_FOVEATION_LEVEL_MEDIUM_HTC = 2,
+ XR_FOVEATION_LEVEL_HIGH_HTC = 3,
+ XR_FOVEATION_LEVEL_MAX_ENUM_HTC = 0x7FFFFFFF
+} XrFoveationLevelHTC;
+typedef XrFlags64 XrFoveationDynamicFlagsHTC;
+
+// Flag bits for XrFoveationDynamicFlagsHTC
+static const XrFoveationDynamicFlagsHTC XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_BIT_HTC = 0x00000001;
+static const XrFoveationDynamicFlagsHTC XR_FOVEATION_DYNAMIC_CLEAR_FOV_ENABLED_BIT_HTC = 0x00000002;
+static const XrFoveationDynamicFlagsHTC XR_FOVEATION_DYNAMIC_FOCAL_CENTER_OFFSET_ENABLED_BIT_HTC = 0x00000004;
+
+typedef struct XrFoveationApplyInfoHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ XrFoveationModeHTC mode;
+ uint32_t subImageCount;
+ XrSwapchainSubImage* subImages;
+} XrFoveationApplyInfoHTC;
+
+typedef struct XrFoveationConfigurationHTC {
+ XrFoveationLevelHTC level;
+ float clearFovDegree;
+ XrVector2f focalCenterOffset;
+} XrFoveationConfigurationHTC;
+
+// XrFoveationDynamicModeInfoHTC extends XrFoveationApplyInfoHTC
+typedef struct XrFoveationDynamicModeInfoHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ XrFoveationDynamicFlagsHTC dynamicFlags;
+} XrFoveationDynamicModeInfoHTC;
+
+// XrFoveationCustomModeInfoHTC extends XrFoveationApplyInfoHTC
+typedef struct XrFoveationCustomModeInfoHTC {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ uint32_t configCount;
+ const XrFoveationConfigurationHTC* configs;
+} XrFoveationCustomModeInfoHTC;
+
+typedef XrResult (XRAPI_PTR *PFN_xrApplyFoveationHTC)(XrSession session, const XrFoveationApplyInfoHTC* applyInfo);
+
+#ifndef XR_NO_PROTOTYPES
+#ifdef XR_EXTENSION_PROTOTYPES
+XRAPI_ATTR XrResult XRAPI_CALL xrApplyFoveationHTC(
+ XrSession session,
+ const XrFoveationApplyInfoHTC* applyInfo);
+#endif /* XR_EXTENSION_PROTOTYPES */
+#endif /* !XR_NO_PROTOTYPES */
+
+
+#define XR_EXT_active_action_set_priority 1
+#define XR_EXT_active_action_set_priority_SPEC_VERSION 1
+#define XR_EXT_ACTIVE_ACTION_SET_PRIORITY_EXTENSION_NAME "XR_EXT_active_action_set_priority"
+typedef struct XrActiveActionSetPriorityEXT {
+ XrActionSet actionSet;
+ uint32_t priorityOverride;
+} XrActiveActionSetPriorityEXT;
+
+// XrActiveActionSetPrioritiesEXT extends XrActionsSyncInfo
+typedef struct XrActiveActionSetPrioritiesEXT {
+ XrStructureType type;
+ const void* XR_MAY_ALIAS next;
+ uint32_t actionSetPriorityCount;
+ const XrActiveActionSetPriorityEXT* actionSetPriorities;
+} XrActiveActionSetPrioritiesEXT;
+
+
#ifdef __cplusplus
}
#endif
diff --git a/thirdparty/openxr/include/openxr/openxr_reflection.h b/thirdparty/openxr/include/openxr/openxr_reflection.h
index ac6f452377..1a873c1770 100644
--- a/thirdparty/openxr/include/openxr/openxr_reflection.h
+++ b/thirdparty/openxr/include/openxr/openxr_reflection.h
@@ -351,6 +351,15 @@ XR_ENUM_STR(XrResult);
_(XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META, 1000227000) \
_(XR_TYPE_PERFORMANCE_METRICS_STATE_META, 1000232001) \
_(XR_TYPE_PERFORMANCE_METRICS_COUNTER_META, 1000232002) \
+ _(XR_TYPE_SYSTEM_HEADSET_ID_PROPERTIES_META, 1000245000) \
+ _(XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC, 1000317001) \
+ _(XR_TYPE_PASSTHROUGH_COLOR_HTC, 1000317002) \
+ _(XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC, 1000317003) \
+ _(XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC, 1000317004) \
+ _(XR_TYPE_FOVEATION_APPLY_INFO_HTC, 1000318000) \
+ _(XR_TYPE_FOVEATION_DYNAMIC_MODE_INFO_HTC, 1000318001) \
+ _(XR_TYPE_FOVEATION_CUSTOM_MODE_INFO_HTC, 1000318002) \
+ _(XR_TYPE_ACTIVE_ACTION_SET_PRIORITIES_EXT, 1000373000) \
_(XR_STRUCTURE_TYPE_MAX_ENUM, 0x7FFFFFFF)
#define XR_LIST_ENUM_XrFormFactor(_) \
@@ -426,6 +435,7 @@ XR_ENUM_STR(XrResult);
_(XR_OBJECT_TYPE_PASSTHROUGH_LAYER_FB, 1000118002) \
_(XR_OBJECT_TYPE_GEOMETRY_INSTANCE_FB, 1000118004) \
_(XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT, 1000142000) \
+ _(XR_OBJECT_TYPE_PASSTHROUGH_HTC, 1000317000) \
_(XR_OBJECT_TYPE_MAX_ENUM, 0x7FFFFFFF)
#define XR_LIST_ENUM_XrAndroidThreadTypeKHR(_) \
@@ -748,6 +758,25 @@ XR_ENUM_STR(XrResult);
_(XR_PERFORMANCE_METRICS_COUNTER_UNIT_HERTZ_META, 4) \
_(XR_PERFORMANCE_METRICS_COUNTER_UNIT_MAX_ENUM_META, 0x7FFFFFFF)
+#define XR_LIST_ENUM_XrPassthroughFormHTC(_) \
+ _(XR_PASSTHROUGH_FORM_PLANAR_HTC, 0) \
+ _(XR_PASSTHROUGH_FORM_PROJECTED_HTC, 1) \
+ _(XR_PASSTHROUGH_FORM_MAX_ENUM_HTC, 0x7FFFFFFF)
+
+#define XR_LIST_ENUM_XrFoveationModeHTC(_) \
+ _(XR_FOVEATION_MODE_DISABLE_HTC, 0) \
+ _(XR_FOVEATION_MODE_FIXED_HTC, 1) \
+ _(XR_FOVEATION_MODE_DYNAMIC_HTC, 2) \
+ _(XR_FOVEATION_MODE_CUSTOM_HTC, 3) \
+ _(XR_FOVEATION_MODE_MAX_ENUM_HTC, 0x7FFFFFFF)
+
+#define XR_LIST_ENUM_XrFoveationLevelHTC(_) \
+ _(XR_FOVEATION_LEVEL_NONE_HTC, 0) \
+ _(XR_FOVEATION_LEVEL_LOW_HTC, 1) \
+ _(XR_FOVEATION_LEVEL_MEDIUM_HTC, 2) \
+ _(XR_FOVEATION_LEVEL_HIGH_HTC, 3) \
+ _(XR_FOVEATION_LEVEL_MAX_ENUM_HTC, 0x7FFFFFFF)
+
#define XR_LIST_BITS_XrInstanceCreateFlags(_)
#define XR_LIST_BITS_XrSessionCreateFlags(_)
@@ -891,6 +920,12 @@ XR_ENUM_STR(XrResult);
_(XR_PERFORMANCE_METRICS_COUNTER_UINT_VALUE_VALID_BIT_META, 0x00000002) \
_(XR_PERFORMANCE_METRICS_COUNTER_FLOAT_VALUE_VALID_BIT_META, 0x00000004) \
+#define XR_LIST_BITS_XrFoveationDynamicFlagsHTC(_) \
+ _(XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_BIT_HTC, 0x00000001) \
+ _(XR_FOVEATION_DYNAMIC_CLEAR_FOV_ENABLED_BIT_HTC, 0x00000002) \
+ _(XR_FOVEATION_DYNAMIC_FOCAL_CENTER_OFFSET_ENABLED_BIT_HTC, 0x00000004) \
+
+/// Calls your macro with the name of each member of XrApiLayerProperties, in order.
#define XR_LIST_STRUCT_XrApiLayerProperties(_) \
_(type) \
_(next) \
@@ -899,12 +934,14 @@ XR_ENUM_STR(XrResult);
_(layerVersion) \
_(description) \
+/// Calls your macro with the name of each member of XrExtensionProperties, in order.
#define XR_LIST_STRUCT_XrExtensionProperties(_) \
_(type) \
_(next) \
_(extensionName) \
_(extensionVersion) \
+/// Calls your macro with the name of each member of XrApplicationInfo, in order.
#define XR_LIST_STRUCT_XrApplicationInfo(_) \
_(applicationName) \
_(applicationVersion) \
@@ -912,6 +949,7 @@ XR_ENUM_STR(XrResult);
_(engineVersion) \
_(apiVersion) \
+/// Calls your macro with the name of each member of XrInstanceCreateInfo, in order.
#define XR_LIST_STRUCT_XrInstanceCreateInfo(_) \
_(type) \
_(next) \
@@ -922,31 +960,37 @@ XR_ENUM_STR(XrResult);
_(enabledExtensionCount) \
_(enabledExtensionNames) \
+/// Calls your macro with the name of each member of XrInstanceProperties, in order.
#define XR_LIST_STRUCT_XrInstanceProperties(_) \
_(type) \
_(next) \
_(runtimeVersion) \
_(runtimeName) \
+/// Calls your macro with the name of each member of XrEventDataBuffer, in order.
#define XR_LIST_STRUCT_XrEventDataBuffer(_) \
_(type) \
_(next) \
_(varying) \
+/// Calls your macro with the name of each member of XrSystemGetInfo, in order.
#define XR_LIST_STRUCT_XrSystemGetInfo(_) \
_(type) \
_(next) \
_(formFactor) \
+/// Calls your macro with the name of each member of XrSystemGraphicsProperties, in order.
#define XR_LIST_STRUCT_XrSystemGraphicsProperties(_) \
_(maxSwapchainImageHeight) \
_(maxSwapchainImageWidth) \
_(maxLayerCount) \
+/// Calls your macro with the name of each member of XrSystemTrackingProperties, in order.
#define XR_LIST_STRUCT_XrSystemTrackingProperties(_) \
_(orientationTracking) \
_(positionTracking) \
+/// Calls your macro with the name of each member of XrSystemProperties, in order.
#define XR_LIST_STRUCT_XrSystemProperties(_) \
_(type) \
_(next) \
@@ -956,17 +1000,20 @@ XR_ENUM_STR(XrResult);
_(graphicsProperties) \
_(trackingProperties) \
+/// Calls your macro with the name of each member of XrSessionCreateInfo, in order.
#define XR_LIST_STRUCT_XrSessionCreateInfo(_) \
_(type) \
_(next) \
_(createFlags) \
_(systemId) \
+/// Calls your macro with the name of each member of XrVector3f, in order.
#define XR_LIST_STRUCT_XrVector3f(_) \
_(x) \
_(y) \
_(z) \
+/// Calls your macro with the name of each member of XrSpaceVelocity, in order.
#define XR_LIST_STRUCT_XrSpaceVelocity(_) \
_(type) \
_(next) \
@@ -974,26 +1021,31 @@ XR_ENUM_STR(XrResult);
_(linearVelocity) \
_(angularVelocity) \
+/// Calls your macro with the name of each member of XrQuaternionf, in order.
#define XR_LIST_STRUCT_XrQuaternionf(_) \
_(x) \
_(y) \
_(z) \
_(w) \
+/// Calls your macro with the name of each member of XrPosef, in order.
#define XR_LIST_STRUCT_XrPosef(_) \
_(orientation) \
_(position) \
+/// Calls your macro with the name of each member of XrReferenceSpaceCreateInfo, in order.
#define XR_LIST_STRUCT_XrReferenceSpaceCreateInfo(_) \
_(type) \
_(next) \
_(referenceSpaceType) \
_(poseInReferenceSpace) \
+/// Calls your macro with the name of each member of XrExtent2Df, in order.
#define XR_LIST_STRUCT_XrExtent2Df(_) \
_(width) \
_(height) \
+/// Calls your macro with the name of each member of XrActionSpaceCreateInfo, in order.
#define XR_LIST_STRUCT_XrActionSpaceCreateInfo(_) \
_(type) \
_(next) \
@@ -1001,18 +1053,21 @@ XR_ENUM_STR(XrResult);
_(subactionPath) \
_(poseInActionSpace) \
+/// Calls your macro with the name of each member of XrSpaceLocation, in order.
#define XR_LIST_STRUCT_XrSpaceLocation(_) \
_(type) \
_(next) \
_(locationFlags) \
_(pose) \
+/// Calls your macro with the name of each member of XrViewConfigurationProperties, in order.
#define XR_LIST_STRUCT_XrViewConfigurationProperties(_) \
_(type) \
_(next) \
_(viewConfigurationType) \
_(fovMutable) \
+/// Calls your macro with the name of each member of XrViewConfigurationView, in order.
#define XR_LIST_STRUCT_XrViewConfigurationView(_) \
_(type) \
_(next) \
@@ -1023,6 +1078,7 @@ XR_ENUM_STR(XrResult);
_(recommendedSwapchainSampleCount) \
_(maxSwapchainSampleCount) \
+/// Calls your macro with the name of each member of XrSwapchainCreateInfo, in order.
#define XR_LIST_STRUCT_XrSwapchainCreateInfo(_) \
_(type) \
_(next) \
@@ -1036,32 +1092,39 @@ XR_ENUM_STR(XrResult);
_(arraySize) \
_(mipCount) \
+/// Calls your macro with the name of each member of XrSwapchainImageBaseHeader, in order.
#define XR_LIST_STRUCT_XrSwapchainImageBaseHeader(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSwapchainImageAcquireInfo, in order.
#define XR_LIST_STRUCT_XrSwapchainImageAcquireInfo(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSwapchainImageWaitInfo, in order.
#define XR_LIST_STRUCT_XrSwapchainImageWaitInfo(_) \
_(type) \
_(next) \
_(timeout) \
+/// Calls your macro with the name of each member of XrSwapchainImageReleaseInfo, in order.
#define XR_LIST_STRUCT_XrSwapchainImageReleaseInfo(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSessionBeginInfo, in order.
#define XR_LIST_STRUCT_XrSessionBeginInfo(_) \
_(type) \
_(next) \
_(primaryViewConfigurationType) \
+/// Calls your macro with the name of each member of XrFrameWaitInfo, in order.
#define XR_LIST_STRUCT_XrFrameWaitInfo(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrFrameState, in order.
#define XR_LIST_STRUCT_XrFrameState(_) \
_(type) \
_(next) \
@@ -1069,16 +1132,19 @@ XR_ENUM_STR(XrResult);
_(predictedDisplayPeriod) \
_(shouldRender) \
+/// Calls your macro with the name of each member of XrFrameBeginInfo, in order.
#define XR_LIST_STRUCT_XrFrameBeginInfo(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrCompositionLayerBaseHeader, in order.
#define XR_LIST_STRUCT_XrCompositionLayerBaseHeader(_) \
_(type) \
_(next) \
_(layerFlags) \
_(space) \
+/// Calls your macro with the name of each member of XrFrameEndInfo, in order.
#define XR_LIST_STRUCT_XrFrameEndInfo(_) \
_(type) \
_(next) \
@@ -1087,6 +1153,7 @@ XR_ENUM_STR(XrResult);
_(layerCount) \
_(layers) \
+/// Calls your macro with the name of each member of XrViewLocateInfo, in order.
#define XR_LIST_STRUCT_XrViewLocateInfo(_) \
_(type) \
_(next) \
@@ -1094,23 +1161,27 @@ XR_ENUM_STR(XrResult);
_(displayTime) \
_(space) \
+/// Calls your macro with the name of each member of XrViewState, in order.
#define XR_LIST_STRUCT_XrViewState(_) \
_(type) \
_(next) \
_(viewStateFlags) \
+/// Calls your macro with the name of each member of XrFovf, in order.
#define XR_LIST_STRUCT_XrFovf(_) \
_(angleLeft) \
_(angleRight) \
_(angleUp) \
_(angleDown) \
+/// Calls your macro with the name of each member of XrView, in order.
#define XR_LIST_STRUCT_XrView(_) \
_(type) \
_(next) \
_(pose) \
_(fov) \
+/// Calls your macro with the name of each member of XrActionSetCreateInfo, in order.
#define XR_LIST_STRUCT_XrActionSetCreateInfo(_) \
_(type) \
_(next) \
@@ -1118,6 +1189,7 @@ XR_ENUM_STR(XrResult);
_(localizedActionSetName) \
_(priority) \
+/// Calls your macro with the name of each member of XrActionCreateInfo, in order.
#define XR_LIST_STRUCT_XrActionCreateInfo(_) \
_(type) \
_(next) \
@@ -1127,10 +1199,12 @@ XR_ENUM_STR(XrResult);
_(subactionPaths) \
_(localizedActionName) \
+/// Calls your macro with the name of each member of XrActionSuggestedBinding, in order.
#define XR_LIST_STRUCT_XrActionSuggestedBinding(_) \
_(action) \
_(binding) \
+/// Calls your macro with the name of each member of XrInteractionProfileSuggestedBinding, in order.
#define XR_LIST_STRUCT_XrInteractionProfileSuggestedBinding(_) \
_(type) \
_(next) \
@@ -1138,23 +1212,27 @@ XR_ENUM_STR(XrResult);
_(countSuggestedBindings) \
_(suggestedBindings) \
+/// Calls your macro with the name of each member of XrSessionActionSetsAttachInfo, in order.
#define XR_LIST_STRUCT_XrSessionActionSetsAttachInfo(_) \
_(type) \
_(next) \
_(countActionSets) \
_(actionSets) \
+/// Calls your macro with the name of each member of XrInteractionProfileState, in order.
#define XR_LIST_STRUCT_XrInteractionProfileState(_) \
_(type) \
_(next) \
_(interactionProfile) \
+/// Calls your macro with the name of each member of XrActionStateGetInfo, in order.
#define XR_LIST_STRUCT_XrActionStateGetInfo(_) \
_(type) \
_(next) \
_(action) \
_(subactionPath) \
+/// Calls your macro with the name of each member of XrActionStateBoolean, in order.
#define XR_LIST_STRUCT_XrActionStateBoolean(_) \
_(type) \
_(next) \
@@ -1163,6 +1241,7 @@ XR_ENUM_STR(XrResult);
_(lastChangeTime) \
_(isActive) \
+/// Calls your macro with the name of each member of XrActionStateFloat, in order.
#define XR_LIST_STRUCT_XrActionStateFloat(_) \
_(type) \
_(next) \
@@ -1171,10 +1250,12 @@ XR_ENUM_STR(XrResult);
_(lastChangeTime) \
_(isActive) \
+/// Calls your macro with the name of each member of XrVector2f, in order.
#define XR_LIST_STRUCT_XrVector2f(_) \
_(x) \
_(y) \
+/// Calls your macro with the name of each member of XrActionStateVector2f, in order.
#define XR_LIST_STRUCT_XrActionStateVector2f(_) \
_(type) \
_(next) \
@@ -1183,67 +1264,81 @@ XR_ENUM_STR(XrResult);
_(lastChangeTime) \
_(isActive) \
+/// Calls your macro with the name of each member of XrActionStatePose, in order.
#define XR_LIST_STRUCT_XrActionStatePose(_) \
_(type) \
_(next) \
_(isActive) \
+/// Calls your macro with the name of each member of XrActiveActionSet, in order.
#define XR_LIST_STRUCT_XrActiveActionSet(_) \
_(actionSet) \
_(subactionPath) \
+/// Calls your macro with the name of each member of XrActionsSyncInfo, in order.
#define XR_LIST_STRUCT_XrActionsSyncInfo(_) \
_(type) \
_(next) \
_(countActiveActionSets) \
_(activeActionSets) \
+/// Calls your macro with the name of each member of XrBoundSourcesForActionEnumerateInfo, in order.
#define XR_LIST_STRUCT_XrBoundSourcesForActionEnumerateInfo(_) \
_(type) \
_(next) \
_(action) \
+/// Calls your macro with the name of each member of XrInputSourceLocalizedNameGetInfo, in order.
#define XR_LIST_STRUCT_XrInputSourceLocalizedNameGetInfo(_) \
_(type) \
_(next) \
_(sourcePath) \
_(whichComponents) \
+/// Calls your macro with the name of each member of XrHapticActionInfo, in order.
#define XR_LIST_STRUCT_XrHapticActionInfo(_) \
_(type) \
_(next) \
_(action) \
_(subactionPath) \
+/// Calls your macro with the name of each member of XrHapticBaseHeader, in order.
#define XR_LIST_STRUCT_XrHapticBaseHeader(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrBaseInStructure, in order.
#define XR_LIST_STRUCT_XrBaseInStructure(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrBaseOutStructure, in order.
#define XR_LIST_STRUCT_XrBaseOutStructure(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrOffset2Di, in order.
#define XR_LIST_STRUCT_XrOffset2Di(_) \
_(x) \
_(y) \
+/// Calls your macro with the name of each member of XrExtent2Di, in order.
#define XR_LIST_STRUCT_XrExtent2Di(_) \
_(width) \
_(height) \
+/// Calls your macro with the name of each member of XrRect2Di, in order.
#define XR_LIST_STRUCT_XrRect2Di(_) \
_(offset) \
_(extent) \
+/// Calls your macro with the name of each member of XrSwapchainSubImage, in order.
#define XR_LIST_STRUCT_XrSwapchainSubImage(_) \
_(swapchain) \
_(imageRect) \
_(imageArrayIndex) \
+/// Calls your macro with the name of each member of XrCompositionLayerProjectionView, in order.
#define XR_LIST_STRUCT_XrCompositionLayerProjectionView(_) \
_(type) \
_(next) \
@@ -1251,6 +1346,7 @@ XR_ENUM_STR(XrResult);
_(fov) \
_(subImage) \
+/// Calls your macro with the name of each member of XrCompositionLayerProjection, in order.
#define XR_LIST_STRUCT_XrCompositionLayerProjection(_) \
_(type) \
_(next) \
@@ -1259,6 +1355,7 @@ XR_ENUM_STR(XrResult);
_(viewCount) \
_(views) \
+/// Calls your macro with the name of each member of XrCompositionLayerQuad, in order.
#define XR_LIST_STRUCT_XrCompositionLayerQuad(_) \
_(type) \
_(next) \
@@ -1269,20 +1366,24 @@ XR_ENUM_STR(XrResult);
_(pose) \
_(size) \
+/// Calls your macro with the name of each member of XrEventDataBaseHeader, in order.
#define XR_LIST_STRUCT_XrEventDataBaseHeader(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrEventDataEventsLost, in order.
#define XR_LIST_STRUCT_XrEventDataEventsLost(_) \
_(type) \
_(next) \
_(lostEventCount) \
+/// Calls your macro with the name of each member of XrEventDataInstanceLossPending, in order.
#define XR_LIST_STRUCT_XrEventDataInstanceLossPending(_) \
_(type) \
_(next) \
_(lossTime) \
+/// Calls your macro with the name of each member of XrEventDataSessionStateChanged, in order.
#define XR_LIST_STRUCT_XrEventDataSessionStateChanged(_) \
_(type) \
_(next) \
@@ -1290,6 +1391,7 @@ XR_ENUM_STR(XrResult);
_(state) \
_(time) \
+/// Calls your macro with the name of each member of XrEventDataReferenceSpaceChangePending, in order.
#define XR_LIST_STRUCT_XrEventDataReferenceSpaceChangePending(_) \
_(type) \
_(next) \
@@ -1299,11 +1401,13 @@ XR_ENUM_STR(XrResult);
_(poseValid) \
_(poseInPreviousSpace) \
+/// Calls your macro with the name of each member of XrEventDataInteractionProfileChanged, in order.
#define XR_LIST_STRUCT_XrEventDataInteractionProfileChanged(_) \
_(type) \
_(next) \
_(session) \
+/// Calls your macro with the name of each member of XrHapticVibration, in order.
#define XR_LIST_STRUCT_XrHapticVibration(_) \
_(type) \
_(next) \
@@ -1311,26 +1415,31 @@ XR_ENUM_STR(XrResult);
_(frequency) \
_(amplitude) \
+/// Calls your macro with the name of each member of XrOffset2Df, in order.
#define XR_LIST_STRUCT_XrOffset2Df(_) \
_(x) \
_(y) \
+/// Calls your macro with the name of each member of XrRect2Df, in order.
#define XR_LIST_STRUCT_XrRect2Df(_) \
_(offset) \
_(extent) \
+/// Calls your macro with the name of each member of XrVector4f, in order.
#define XR_LIST_STRUCT_XrVector4f(_) \
_(x) \
_(y) \
_(z) \
_(w) \
+/// Calls your macro with the name of each member of XrColor4f, in order.
#define XR_LIST_STRUCT_XrColor4f(_) \
_(r) \
_(g) \
_(b) \
_(a) \
+/// Calls your macro with the name of each member of XrCompositionLayerCubeKHR, in order.
#define XR_LIST_STRUCT_XrCompositionLayerCubeKHR(_) \
_(type) \
_(next) \
@@ -1341,12 +1450,14 @@ XR_ENUM_STR(XrResult);
_(imageArrayIndex) \
_(orientation) \
+/// Calls your macro with the name of each member of XrInstanceCreateInfoAndroidKHR, in order.
#define XR_LIST_STRUCT_XrInstanceCreateInfoAndroidKHR(_) \
_(type) \
_(next) \
_(applicationVM) \
_(applicationActivity) \
+/// Calls your macro with the name of each member of XrCompositionLayerDepthInfoKHR, in order.
#define XR_LIST_STRUCT_XrCompositionLayerDepthInfoKHR(_) \
_(type) \
_(next) \
@@ -1356,12 +1467,14 @@ XR_ENUM_STR(XrResult);
_(nearZ) \
_(farZ) \
+/// Calls your macro with the name of each member of XrVulkanSwapchainFormatListCreateInfoKHR, in order.
#define XR_LIST_STRUCT_XrVulkanSwapchainFormatListCreateInfoKHR(_) \
_(type) \
_(next) \
_(viewFormatCount) \
_(viewFormats) \
+/// Calls your macro with the name of each member of XrCompositionLayerCylinderKHR, in order.
#define XR_LIST_STRUCT_XrCompositionLayerCylinderKHR(_) \
_(type) \
_(next) \
@@ -1374,6 +1487,7 @@ XR_ENUM_STR(XrResult);
_(centralAngle) \
_(aspectRatio) \
+/// Calls your macro with the name of each member of XrCompositionLayerEquirectKHR, in order.
#define XR_LIST_STRUCT_XrCompositionLayerEquirectKHR(_) \
_(type) \
_(next) \
@@ -1386,12 +1500,14 @@ XR_ENUM_STR(XrResult);
_(scale) \
_(bias) \
+/// Calls your macro with the name of each member of XrGraphicsBindingOpenGLWin32KHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingOpenGLWin32KHR(_) \
_(type) \
_(next) \
_(hDC) \
_(hGLRC) \
+/// Calls your macro with the name of each member of XrGraphicsBindingOpenGLXlibKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingOpenGLXlibKHR(_) \
_(type) \
_(next) \
@@ -1401,6 +1517,7 @@ XR_ENUM_STR(XrResult);
_(glxDrawable) \
_(glxContext) \
+/// Calls your macro with the name of each member of XrGraphicsBindingOpenGLXcbKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingOpenGLXcbKHR(_) \
_(type) \
_(next) \
@@ -1411,22 +1528,26 @@ XR_ENUM_STR(XrResult);
_(glxDrawable) \
_(glxContext) \
+/// Calls your macro with the name of each member of XrGraphicsBindingOpenGLWaylandKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingOpenGLWaylandKHR(_) \
_(type) \
_(next) \
_(display) \
+/// Calls your macro with the name of each member of XrSwapchainImageOpenGLKHR, in order.
#define XR_LIST_STRUCT_XrSwapchainImageOpenGLKHR(_) \
_(type) \
_(next) \
_(image) \
+/// Calls your macro with the name of each member of XrGraphicsRequirementsOpenGLKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsRequirementsOpenGLKHR(_) \
_(type) \
_(next) \
_(minApiVersionSupported) \
_(maxApiVersionSupported) \
+/// Calls your macro with the name of each member of XrGraphicsBindingOpenGLESAndroidKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingOpenGLESAndroidKHR(_) \
_(type) \
_(next) \
@@ -1434,17 +1555,20 @@ XR_ENUM_STR(XrResult);
_(config) \
_(context) \
+/// Calls your macro with the name of each member of XrSwapchainImageOpenGLESKHR, in order.
#define XR_LIST_STRUCT_XrSwapchainImageOpenGLESKHR(_) \
_(type) \
_(next) \
_(image) \
+/// Calls your macro with the name of each member of XrGraphicsRequirementsOpenGLESKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsRequirementsOpenGLESKHR(_) \
_(type) \
_(next) \
_(minApiVersionSupported) \
_(maxApiVersionSupported) \
+/// Calls your macro with the name of each member of XrGraphicsBindingVulkanKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingVulkanKHR(_) \
_(type) \
_(next) \
@@ -1454,50 +1578,59 @@ XR_ENUM_STR(XrResult);
_(queueFamilyIndex) \
_(queueIndex) \
+/// Calls your macro with the name of each member of XrSwapchainImageVulkanKHR, in order.
#define XR_LIST_STRUCT_XrSwapchainImageVulkanKHR(_) \
_(type) \
_(next) \
_(image) \
+/// Calls your macro with the name of each member of XrGraphicsRequirementsVulkanKHR, in order.
#define XR_LIST_STRUCT_XrGraphicsRequirementsVulkanKHR(_) \
_(type) \
_(next) \
_(minApiVersionSupported) \
_(maxApiVersionSupported) \
+/// Calls your macro with the name of each member of XrGraphicsBindingD3D11KHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingD3D11KHR(_) \
_(type) \
_(next) \
_(device) \
+/// Calls your macro with the name of each member of XrSwapchainImageD3D11KHR, in order.
#define XR_LIST_STRUCT_XrSwapchainImageD3D11KHR(_) \
_(type) \
_(next) \
_(texture) \
+/// Calls your macro with the name of each member of XrGraphicsRequirementsD3D11KHR, in order.
#define XR_LIST_STRUCT_XrGraphicsRequirementsD3D11KHR(_) \
_(type) \
_(next) \
_(adapterLuid) \
_(minFeatureLevel) \
+/// Calls your macro with the name of each member of XrGraphicsBindingD3D12KHR, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingD3D12KHR(_) \
_(type) \
_(next) \
_(device) \
_(queue) \
+/// Calls your macro with the name of each member of XrSwapchainImageD3D12KHR, in order.
#define XR_LIST_STRUCT_XrSwapchainImageD3D12KHR(_) \
_(type) \
_(next) \
_(texture) \
+/// Calls your macro with the name of each member of XrGraphicsRequirementsD3D12KHR, in order.
#define XR_LIST_STRUCT_XrGraphicsRequirementsD3D12KHR(_) \
_(type) \
_(next) \
_(adapterLuid) \
_(minFeatureLevel) \
+/// Calls your macro with the name of each member of XrVisibilityMaskKHR, in order.
#define XR_LIST_STRUCT_XrVisibilityMaskKHR(_) \
_(type) \
_(next) \
@@ -1508,6 +1641,7 @@ XR_ENUM_STR(XrResult);
_(indexCountOutput) \
_(indices) \
+/// Calls your macro with the name of each member of XrEventDataVisibilityMaskChangedKHR, in order.
#define XR_LIST_STRUCT_XrEventDataVisibilityMaskChangedKHR(_) \
_(type) \
_(next) \
@@ -1515,22 +1649,26 @@ XR_ENUM_STR(XrResult);
_(viewConfigurationType) \
_(viewIndex) \
+/// Calls your macro with the name of each member of XrCompositionLayerColorScaleBiasKHR, in order.
#define XR_LIST_STRUCT_XrCompositionLayerColorScaleBiasKHR(_) \
_(type) \
_(next) \
_(colorScale) \
_(colorBias) \
+/// Calls your macro with the name of each member of XrLoaderInitInfoBaseHeaderKHR, in order.
#define XR_LIST_STRUCT_XrLoaderInitInfoBaseHeaderKHR(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrLoaderInitInfoAndroidKHR, in order.
#define XR_LIST_STRUCT_XrLoaderInitInfoAndroidKHR(_) \
_(type) \
_(next) \
_(applicationVM) \
_(applicationContext) \
+/// Calls your macro with the name of each member of XrVulkanInstanceCreateInfoKHR, in order.
#define XR_LIST_STRUCT_XrVulkanInstanceCreateInfoKHR(_) \
_(type) \
_(next) \
@@ -1540,6 +1678,7 @@ XR_ENUM_STR(XrResult);
_(vulkanCreateInfo) \
_(vulkanAllocator) \
+/// Calls your macro with the name of each member of XrVulkanDeviceCreateInfoKHR, in order.
#define XR_LIST_STRUCT_XrVulkanDeviceCreateInfoKHR(_) \
_(type) \
_(next) \
@@ -1550,12 +1689,14 @@ XR_ENUM_STR(XrResult);
_(vulkanCreateInfo) \
_(vulkanAllocator) \
+/// Calls your macro with the name of each member of XrVulkanGraphicsDeviceGetInfoKHR, in order.
#define XR_LIST_STRUCT_XrVulkanGraphicsDeviceGetInfoKHR(_) \
_(type) \
_(next) \
_(systemId) \
_(vulkanInstance) \
+/// Calls your macro with the name of each member of XrCompositionLayerEquirect2KHR, in order.
#define XR_LIST_STRUCT_XrCompositionLayerEquirect2KHR(_) \
_(type) \
_(next) \
@@ -1569,16 +1710,19 @@ XR_ENUM_STR(XrResult);
_(upperVerticalAngle) \
_(lowerVerticalAngle) \
+/// Calls your macro with the name of each member of XrBindingModificationBaseHeaderKHR, in order.
#define XR_LIST_STRUCT_XrBindingModificationBaseHeaderKHR(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrBindingModificationsKHR, in order.
#define XR_LIST_STRUCT_XrBindingModificationsKHR(_) \
_(type) \
_(next) \
_(bindingModificationCount) \
_(bindingModifications) \
+/// Calls your macro with the name of each member of XrEventDataPerfSettingsEXT, in order.
#define XR_LIST_STRUCT_XrEventDataPerfSettingsEXT(_) \
_(type) \
_(next) \
@@ -1587,6 +1731,7 @@ XR_ENUM_STR(XrResult);
_(fromLevel) \
_(toLevel) \
+/// Calls your macro with the name of each member of XrDebugUtilsObjectNameInfoEXT, in order.
#define XR_LIST_STRUCT_XrDebugUtilsObjectNameInfoEXT(_) \
_(type) \
_(next) \
@@ -1594,11 +1739,13 @@ XR_ENUM_STR(XrResult);
_(objectHandle) \
_(objectName) \
+/// Calls your macro with the name of each member of XrDebugUtilsLabelEXT, in order.
#define XR_LIST_STRUCT_XrDebugUtilsLabelEXT(_) \
_(type) \
_(next) \
_(labelName) \
+/// Calls your macro with the name of each member of XrDebugUtilsMessengerCallbackDataEXT, in order.
#define XR_LIST_STRUCT_XrDebugUtilsMessengerCallbackDataEXT(_) \
_(type) \
_(next) \
@@ -1610,6 +1757,7 @@ XR_ENUM_STR(XrResult);
_(sessionLabelCount) \
_(sessionLabels) \
+/// Calls your macro with the name of each member of XrDebugUtilsMessengerCreateInfoEXT, in order.
#define XR_LIST_STRUCT_XrDebugUtilsMessengerCreateInfoEXT(_) \
_(type) \
_(next) \
@@ -1618,28 +1766,33 @@ XR_ENUM_STR(XrResult);
_(userCallback) \
_(userData) \
+/// Calls your macro with the name of each member of XrSystemEyeGazeInteractionPropertiesEXT, in order.
#define XR_LIST_STRUCT_XrSystemEyeGazeInteractionPropertiesEXT(_) \
_(type) \
_(next) \
_(supportsEyeGazeInteraction) \
+/// Calls your macro with the name of each member of XrEyeGazeSampleTimeEXT, in order.
#define XR_LIST_STRUCT_XrEyeGazeSampleTimeEXT(_) \
_(type) \
_(next) \
_(time) \
+/// Calls your macro with the name of each member of XrSessionCreateInfoOverlayEXTX, in order.
#define XR_LIST_STRUCT_XrSessionCreateInfoOverlayEXTX(_) \
_(type) \
_(next) \
_(createFlags) \
_(sessionLayersPlacement) \
+/// Calls your macro with the name of each member of XrEventDataMainSessionVisibilityChangedEXTX, in order.
#define XR_LIST_STRUCT_XrEventDataMainSessionVisibilityChangedEXTX(_) \
_(type) \
_(next) \
_(visible) \
_(flags) \
+/// Calls your macro with the name of each member of XrSpatialAnchorCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialAnchorCreateInfoMSFT(_) \
_(type) \
_(next) \
@@ -1647,17 +1800,20 @@ XR_ENUM_STR(XrResult);
_(pose) \
_(time) \
+/// Calls your macro with the name of each member of XrSpatialAnchorSpaceCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialAnchorSpaceCreateInfoMSFT(_) \
_(type) \
_(next) \
_(anchor) \
_(poseInAnchorSpace) \
+/// Calls your macro with the name of each member of XrCompositionLayerImageLayoutFB, in order.
#define XR_LIST_STRUCT_XrCompositionLayerImageLayoutFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrCompositionLayerAlphaBlendFB, in order.
#define XR_LIST_STRUCT_XrCompositionLayerAlphaBlendFB(_) \
_(type) \
_(next) \
@@ -1666,6 +1822,7 @@ XR_ENUM_STR(XrResult);
_(srcFactorAlpha) \
_(dstFactorAlpha) \
+/// Calls your macro with the name of each member of XrViewConfigurationDepthRangeEXT, in order.
#define XR_LIST_STRUCT_XrViewConfigurationDepthRangeEXT(_) \
_(type) \
_(next) \
@@ -1674,6 +1831,7 @@ XR_ENUM_STR(XrResult);
_(recommendedFarZ) \
_(maxFarZ) \
+/// Calls your macro with the name of each member of XrGraphicsBindingEGLMNDX, in order.
#define XR_LIST_STRUCT_XrGraphicsBindingEGLMNDX(_) \
_(type) \
_(next) \
@@ -1682,6 +1840,7 @@ XR_ENUM_STR(XrResult);
_(config) \
_(context) \
+/// Calls your macro with the name of each member of XrSpatialGraphNodeSpaceCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialGraphNodeSpaceCreateInfoMSFT(_) \
_(type) \
_(next) \
@@ -1689,6 +1848,7 @@ XR_ENUM_STR(XrResult);
_(nodeId) \
_(pose) \
+/// Calls your macro with the name of each member of XrSpatialGraphStaticNodeBindingCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialGraphStaticNodeBindingCreateInfoMSFT(_) \
_(type) \
_(next) \
@@ -1696,43 +1856,51 @@ XR_ENUM_STR(XrResult);
_(poseInSpace) \
_(time) \
+/// Calls your macro with the name of each member of XrSpatialGraphNodeBindingPropertiesGetInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialGraphNodeBindingPropertiesGetInfoMSFT(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSpatialGraphNodeBindingPropertiesMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialGraphNodeBindingPropertiesMSFT(_) \
_(type) \
_(next) \
_(nodeId) \
_(poseInNodeSpace) \
+/// Calls your macro with the name of each member of XrSystemHandTrackingPropertiesEXT, in order.
#define XR_LIST_STRUCT_XrSystemHandTrackingPropertiesEXT(_) \
_(type) \
_(next) \
_(supportsHandTracking) \
+/// Calls your macro with the name of each member of XrHandTrackerCreateInfoEXT, in order.
#define XR_LIST_STRUCT_XrHandTrackerCreateInfoEXT(_) \
_(type) \
_(next) \
_(hand) \
_(handJointSet) \
+/// Calls your macro with the name of each member of XrHandJointsLocateInfoEXT, in order.
#define XR_LIST_STRUCT_XrHandJointsLocateInfoEXT(_) \
_(type) \
_(next) \
_(baseSpace) \
_(time) \
+/// Calls your macro with the name of each member of XrHandJointLocationEXT, in order.
#define XR_LIST_STRUCT_XrHandJointLocationEXT(_) \
_(locationFlags) \
_(pose) \
_(radius) \
+/// Calls your macro with the name of each member of XrHandJointVelocityEXT, in order.
#define XR_LIST_STRUCT_XrHandJointVelocityEXT(_) \
_(velocityFlags) \
_(linearVelocity) \
_(angularVelocity) \
+/// Calls your macro with the name of each member of XrHandJointLocationsEXT, in order.
#define XR_LIST_STRUCT_XrHandJointLocationsEXT(_) \
_(type) \
_(next) \
@@ -1740,12 +1908,14 @@ XR_ENUM_STR(XrResult);
_(jointCount) \
_(jointLocations) \
+/// Calls your macro with the name of each member of XrHandJointVelocitiesEXT, in order.
#define XR_LIST_STRUCT_XrHandJointVelocitiesEXT(_) \
_(type) \
_(next) \
_(jointCount) \
_(jointVelocities) \
+/// Calls your macro with the name of each member of XrSystemHandTrackingMeshPropertiesMSFT, in order.
#define XR_LIST_STRUCT_XrSystemHandTrackingMeshPropertiesMSFT(_) \
_(type) \
_(next) \
@@ -1753,34 +1923,40 @@ XR_ENUM_STR(XrResult);
_(maxHandMeshIndexCount) \
_(maxHandMeshVertexCount) \
+/// Calls your macro with the name of each member of XrHandMeshSpaceCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrHandMeshSpaceCreateInfoMSFT(_) \
_(type) \
_(next) \
_(handPoseType) \
_(poseInHandMeshSpace) \
+/// Calls your macro with the name of each member of XrHandMeshUpdateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrHandMeshUpdateInfoMSFT(_) \
_(type) \
_(next) \
_(time) \
_(handPoseType) \
+/// Calls your macro with the name of each member of XrHandMeshIndexBufferMSFT, in order.
#define XR_LIST_STRUCT_XrHandMeshIndexBufferMSFT(_) \
_(indexBufferKey) \
_(indexCapacityInput) \
_(indexCountOutput) \
_(indices) \
+/// Calls your macro with the name of each member of XrHandMeshVertexMSFT, in order.
#define XR_LIST_STRUCT_XrHandMeshVertexMSFT(_) \
_(position) \
_(normal) \
+/// Calls your macro with the name of each member of XrHandMeshVertexBufferMSFT, in order.
#define XR_LIST_STRUCT_XrHandMeshVertexBufferMSFT(_) \
_(vertexUpdateTime) \
_(vertexCapacityInput) \
_(vertexCountOutput) \
_(vertices) \
+/// Calls your macro with the name of each member of XrHandMeshMSFT, in order.
#define XR_LIST_STRUCT_XrHandMeshMSFT(_) \
_(type) \
_(next) \
@@ -1790,29 +1966,34 @@ XR_ENUM_STR(XrResult);
_(indexBuffer) \
_(vertexBuffer) \
+/// Calls your macro with the name of each member of XrHandPoseTypeInfoMSFT, in order.
#define XR_LIST_STRUCT_XrHandPoseTypeInfoMSFT(_) \
_(type) \
_(next) \
_(handPoseType) \
+/// Calls your macro with the name of each member of XrSecondaryViewConfigurationSessionBeginInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSecondaryViewConfigurationSessionBeginInfoMSFT(_) \
_(type) \
_(next) \
_(viewConfigurationCount) \
_(enabledViewConfigurationTypes) \
+/// Calls your macro with the name of each member of XrSecondaryViewConfigurationStateMSFT, in order.
#define XR_LIST_STRUCT_XrSecondaryViewConfigurationStateMSFT(_) \
_(type) \
_(next) \
_(viewConfigurationType) \
_(active) \
+/// Calls your macro with the name of each member of XrSecondaryViewConfigurationFrameStateMSFT, in order.
#define XR_LIST_STRUCT_XrSecondaryViewConfigurationFrameStateMSFT(_) \
_(type) \
_(next) \
_(viewConfigurationCount) \
_(viewConfigurationStates) \
+/// Calls your macro with the name of each member of XrSecondaryViewConfigurationLayerInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSecondaryViewConfigurationLayerInfoMSFT(_) \
_(type) \
_(next) \
@@ -1821,28 +2002,33 @@ XR_ENUM_STR(XrResult);
_(layerCount) \
_(layers) \
+/// Calls your macro with the name of each member of XrSecondaryViewConfigurationFrameEndInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSecondaryViewConfigurationFrameEndInfoMSFT(_) \
_(type) \
_(next) \
_(viewConfigurationCount) \
_(viewConfigurationLayersInfo) \
+/// Calls your macro with the name of each member of XrSecondaryViewConfigurationSwapchainCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSecondaryViewConfigurationSwapchainCreateInfoMSFT(_) \
_(type) \
_(next) \
_(viewConfigurationType) \
+/// Calls your macro with the name of each member of XrControllerModelKeyStateMSFT, in order.
#define XR_LIST_STRUCT_XrControllerModelKeyStateMSFT(_) \
_(type) \
_(next) \
_(modelKey) \
+/// Calls your macro with the name of each member of XrControllerModelNodePropertiesMSFT, in order.
#define XR_LIST_STRUCT_XrControllerModelNodePropertiesMSFT(_) \
_(type) \
_(next) \
_(parentNodeName) \
_(nodeName) \
+/// Calls your macro with the name of each member of XrControllerModelPropertiesMSFT, in order.
#define XR_LIST_STRUCT_XrControllerModelPropertiesMSFT(_) \
_(type) \
_(next) \
@@ -1850,11 +2036,13 @@ XR_ENUM_STR(XrResult);
_(nodeCountOutput) \
_(nodeProperties) \
+/// Calls your macro with the name of each member of XrControllerModelNodeStateMSFT, in order.
#define XR_LIST_STRUCT_XrControllerModelNodeStateMSFT(_) \
_(type) \
_(next) \
_(nodePose) \
+/// Calls your macro with the name of each member of XrControllerModelStateMSFT, in order.
#define XR_LIST_STRUCT_XrControllerModelStateMSFT(_) \
_(type) \
_(next) \
@@ -1862,23 +2050,27 @@ XR_ENUM_STR(XrResult);
_(nodeCountOutput) \
_(nodeStates) \
+/// Calls your macro with the name of each member of XrViewConfigurationViewFovEPIC, in order.
#define XR_LIST_STRUCT_XrViewConfigurationViewFovEPIC(_) \
_(type) \
_(next) \
_(recommendedFov) \
_(maxMutableFov) \
+/// Calls your macro with the name of each member of XrHolographicWindowAttachmentMSFT, in order.
#define XR_LIST_STRUCT_XrHolographicWindowAttachmentMSFT(_) \
_(type) \
_(next) \
_(holographicSpace) \
_(coreWindow) \
+/// Calls your macro with the name of each member of XrCompositionLayerReprojectionInfoMSFT, in order.
#define XR_LIST_STRUCT_XrCompositionLayerReprojectionInfoMSFT(_) \
_(type) \
_(next) \
_(reprojectionMode) \
+/// Calls your macro with the name of each member of XrCompositionLayerReprojectionPlaneOverrideMSFT, in order.
#define XR_LIST_STRUCT_XrCompositionLayerReprojectionPlaneOverrideMSFT(_) \
_(type) \
_(next) \
@@ -1886,20 +2078,24 @@ XR_ENUM_STR(XrResult);
_(normal) \
_(velocity) \
+/// Calls your macro with the name of each member of XrAndroidSurfaceSwapchainCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrAndroidSurfaceSwapchainCreateInfoFB(_) \
_(type) \
_(next) \
_(createFlags) \
+/// Calls your macro with the name of each member of XrSwapchainStateBaseHeaderFB, in order.
#define XR_LIST_STRUCT_XrSwapchainStateBaseHeaderFB(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrCompositionLayerSecureContentFB, in order.
#define XR_LIST_STRUCT_XrCompositionLayerSecureContentFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrInteractionProfileDpadBindingEXT, in order.
#define XR_LIST_STRUCT_XrInteractionProfileDpadBindingEXT(_) \
_(type) \
_(next) \
@@ -1913,6 +2109,7 @@ XR_ENUM_STR(XrResult);
_(onHaptic) \
_(offHaptic) \
+/// Calls your macro with the name of each member of XrInteractionProfileAnalogThresholdVALVE, in order.
#define XR_LIST_STRUCT_XrInteractionProfileAnalogThresholdVALVE(_) \
_(type) \
_(next) \
@@ -1923,35 +2120,43 @@ XR_ENUM_STR(XrResult);
_(onHaptic) \
_(offHaptic) \
+/// Calls your macro with the name of each member of XrHandJointsMotionRangeInfoEXT, in order.
#define XR_LIST_STRUCT_XrHandJointsMotionRangeInfoEXT(_) \
_(type) \
_(next) \
_(handJointsMotionRange) \
+/// Calls your macro with the name of each member of XrUuidMSFT, in order.
#define XR_LIST_STRUCT_XrUuidMSFT(_) \
_(bytes) \
+/// Calls your macro with the name of each member of XrSceneObserverCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneObserverCreateInfoMSFT(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSceneCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneCreateInfoMSFT(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSceneSphereBoundMSFT, in order.
#define XR_LIST_STRUCT_XrSceneSphereBoundMSFT(_) \
_(center) \
_(radius) \
+/// Calls your macro with the name of each member of XrSceneOrientedBoxBoundMSFT, in order.
#define XR_LIST_STRUCT_XrSceneOrientedBoxBoundMSFT(_) \
_(pose) \
_(extents) \
+/// Calls your macro with the name of each member of XrSceneFrustumBoundMSFT, in order.
#define XR_LIST_STRUCT_XrSceneFrustumBoundMSFT(_) \
_(pose) \
_(fov) \
_(farDistance) \
+/// Calls your macro with the name of each member of XrSceneBoundsMSFT, in order.
#define XR_LIST_STRUCT_XrSceneBoundsMSFT(_) \
_(space) \
_(time) \
@@ -1962,6 +2167,7 @@ XR_ENUM_STR(XrResult);
_(frustumCount) \
_(frustums) \
+/// Calls your macro with the name of each member of XrNewSceneComputeInfoMSFT, in order.
#define XR_LIST_STRUCT_XrNewSceneComputeInfoMSFT(_) \
_(type) \
_(next) \
@@ -1970,17 +2176,20 @@ XR_ENUM_STR(XrResult);
_(consistency) \
_(bounds) \
+/// Calls your macro with the name of each member of XrVisualMeshComputeLodInfoMSFT, in order.
#define XR_LIST_STRUCT_XrVisualMeshComputeLodInfoMSFT(_) \
_(type) \
_(next) \
_(lod) \
+/// Calls your macro with the name of each member of XrSceneComponentMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentMSFT(_) \
_(componentType) \
_(id) \
_(parentId) \
_(updateTime) \
+/// Calls your macro with the name of each member of XrSceneComponentsMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentsMSFT(_) \
_(type) \
_(next) \
@@ -1988,21 +2197,25 @@ XR_ENUM_STR(XrResult);
_(componentCountOutput) \
_(components) \
+/// Calls your macro with the name of each member of XrSceneComponentsGetInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentsGetInfoMSFT(_) \
_(type) \
_(next) \
_(componentType) \
+/// Calls your macro with the name of each member of XrSceneComponentLocationMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentLocationMSFT(_) \
_(flags) \
_(pose) \
+/// Calls your macro with the name of each member of XrSceneComponentLocationsMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentLocationsMSFT(_) \
_(type) \
_(next) \
_(locationCount) \
_(locations) \
+/// Calls your macro with the name of each member of XrSceneComponentsLocateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentsLocateInfoMSFT(_) \
_(type) \
_(next) \
@@ -2011,63 +2224,75 @@ XR_ENUM_STR(XrResult);
_(componentIdCount) \
_(componentIds) \
+/// Calls your macro with the name of each member of XrSceneObjectMSFT, in order.
#define XR_LIST_STRUCT_XrSceneObjectMSFT(_) \
_(objectType) \
+/// Calls your macro with the name of each member of XrSceneObjectsMSFT, in order.
#define XR_LIST_STRUCT_XrSceneObjectsMSFT(_) \
_(type) \
_(next) \
_(sceneObjectCount) \
_(sceneObjects) \
+/// Calls your macro with the name of each member of XrSceneComponentParentFilterInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneComponentParentFilterInfoMSFT(_) \
_(type) \
_(next) \
_(parentId) \
+/// Calls your macro with the name of each member of XrSceneObjectTypesFilterInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneObjectTypesFilterInfoMSFT(_) \
_(type) \
_(next) \
_(objectTypeCount) \
_(objectTypes) \
+/// Calls your macro with the name of each member of XrScenePlaneMSFT, in order.
#define XR_LIST_STRUCT_XrScenePlaneMSFT(_) \
_(alignment) \
_(size) \
_(meshBufferId) \
_(supportsIndicesUint16) \
+/// Calls your macro with the name of each member of XrScenePlanesMSFT, in order.
#define XR_LIST_STRUCT_XrScenePlanesMSFT(_) \
_(type) \
_(next) \
_(scenePlaneCount) \
_(scenePlanes) \
+/// Calls your macro with the name of each member of XrScenePlaneAlignmentFilterInfoMSFT, in order.
#define XR_LIST_STRUCT_XrScenePlaneAlignmentFilterInfoMSFT(_) \
_(type) \
_(next) \
_(alignmentCount) \
_(alignments) \
+/// Calls your macro with the name of each member of XrSceneMeshMSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshMSFT(_) \
_(meshBufferId) \
_(supportsIndicesUint16) \
+/// Calls your macro with the name of each member of XrSceneMeshesMSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshesMSFT(_) \
_(type) \
_(next) \
_(sceneMeshCount) \
_(sceneMeshes) \
+/// Calls your macro with the name of each member of XrSceneMeshBuffersGetInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshBuffersGetInfoMSFT(_) \
_(type) \
_(next) \
_(meshBufferId) \
+/// Calls your macro with the name of each member of XrSceneMeshBuffersMSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshBuffersMSFT(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSceneMeshVertexBufferMSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshVertexBufferMSFT(_) \
_(type) \
_(next) \
@@ -2075,6 +2300,7 @@ XR_ENUM_STR(XrResult);
_(vertexCountOutput) \
_(vertices) \
+/// Calls your macro with the name of each member of XrSceneMeshIndicesUint32MSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshIndicesUint32MSFT(_) \
_(type) \
_(next) \
@@ -2082,6 +2308,7 @@ XR_ENUM_STR(XrResult);
_(indexCountOutput) \
_(indices) \
+/// Calls your macro with the name of each member of XrSceneMeshIndicesUint16MSFT, in order.
#define XR_LIST_STRUCT_XrSceneMeshIndicesUint16MSFT(_) \
_(type) \
_(next) \
@@ -2089,44 +2316,52 @@ XR_ENUM_STR(XrResult);
_(indexCountOutput) \
_(indices) \
+/// Calls your macro with the name of each member of XrSerializedSceneFragmentDataGetInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSerializedSceneFragmentDataGetInfoMSFT(_) \
_(type) \
_(next) \
_(sceneFragmentId) \
+/// Calls your macro with the name of each member of XrDeserializeSceneFragmentMSFT, in order.
#define XR_LIST_STRUCT_XrDeserializeSceneFragmentMSFT(_) \
_(bufferSize) \
_(buffer) \
+/// Calls your macro with the name of each member of XrSceneDeserializeInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSceneDeserializeInfoMSFT(_) \
_(type) \
_(next) \
_(fragmentCount) \
_(fragments) \
+/// Calls your macro with the name of each member of XrEventDataDisplayRefreshRateChangedFB, in order.
#define XR_LIST_STRUCT_XrEventDataDisplayRefreshRateChangedFB(_) \
_(type) \
_(next) \
_(fromDisplayRefreshRate) \
_(toDisplayRefreshRate) \
+/// Calls your macro with the name of each member of XrViveTrackerPathsHTCX, in order.
#define XR_LIST_STRUCT_XrViveTrackerPathsHTCX(_) \
_(type) \
_(next) \
_(persistentPath) \
_(rolePath) \
+/// Calls your macro with the name of each member of XrEventDataViveTrackerConnectedHTCX, in order.
#define XR_LIST_STRUCT_XrEventDataViveTrackerConnectedHTCX(_) \
_(type) \
_(next) \
_(paths) \
+/// Calls your macro with the name of each member of XrSystemFacialTrackingPropertiesHTC, in order.
#define XR_LIST_STRUCT_XrSystemFacialTrackingPropertiesHTC(_) \
_(type) \
_(next) \
_(supportEyeFacialTracking) \
_(supportLipFacialTracking) \
+/// Calls your macro with the name of each member of XrFacialExpressionsHTC, in order.
#define XR_LIST_STRUCT_XrFacialExpressionsHTC(_) \
_(type) \
_(next) \
@@ -2135,22 +2370,26 @@ XR_ENUM_STR(XrResult);
_(expressionCount) \
_(expressionWeightings) \
+/// Calls your macro with the name of each member of XrFacialTrackerCreateInfoHTC, in order.
#define XR_LIST_STRUCT_XrFacialTrackerCreateInfoHTC(_) \
_(type) \
_(next) \
_(facialTrackingType) \
+/// Calls your macro with the name of each member of XrSystemColorSpacePropertiesFB, in order.
#define XR_LIST_STRUCT_XrSystemColorSpacePropertiesFB(_) \
_(type) \
_(next) \
_(colorSpace) \
+/// Calls your macro with the name of each member of XrVector4sFB, in order.
#define XR_LIST_STRUCT_XrVector4sFB(_) \
_(x) \
_(y) \
_(z) \
_(w) \
+/// Calls your macro with the name of each member of XrHandTrackingMeshFB, in order.
#define XR_LIST_STRUCT_XrHandTrackingMeshFB(_) \
_(type) \
_(next) \
@@ -2170,6 +2409,7 @@ XR_ENUM_STR(XrResult);
_(indexCountOutput) \
_(indices) \
+/// Calls your macro with the name of each member of XrHandTrackingScaleFB, in order.
#define XR_LIST_STRUCT_XrHandTrackingScaleFB(_) \
_(type) \
_(next) \
@@ -2178,6 +2418,7 @@ XR_ENUM_STR(XrResult);
_(overrideHandScale) \
_(overrideValueInput) \
+/// Calls your macro with the name of each member of XrHandTrackingAimStateFB, in order.
#define XR_LIST_STRUCT_XrHandTrackingAimStateFB(_) \
_(type) \
_(next) \
@@ -2188,21 +2429,25 @@ XR_ENUM_STR(XrResult);
_(pinchStrengthRing) \
_(pinchStrengthLittle) \
+/// Calls your macro with the name of each member of XrHandCapsuleFB, in order.
#define XR_LIST_STRUCT_XrHandCapsuleFB(_) \
_(points) \
_(radius) \
_(joint) \
+/// Calls your macro with the name of each member of XrHandTrackingCapsulesStateFB, in order.
#define XR_LIST_STRUCT_XrHandTrackingCapsulesStateFB(_) \
_(type) \
_(next) \
_(capsules) \
+/// Calls your macro with the name of each member of XrSystemSpatialEntityPropertiesFB, in order.
#define XR_LIST_STRUCT_XrSystemSpatialEntityPropertiesFB(_) \
_(type) \
_(next) \
_(supportsSpatialEntity) \
+/// Calls your macro with the name of each member of XrSpatialAnchorCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrSpatialAnchorCreateInfoFB(_) \
_(type) \
_(next) \
@@ -2210,6 +2455,7 @@ XR_ENUM_STR(XrResult);
_(poseInSpace) \
_(time) \
+/// Calls your macro with the name of each member of XrSpaceComponentStatusSetInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceComponentStatusSetInfoFB(_) \
_(type) \
_(next) \
@@ -2217,15 +2463,18 @@ XR_ENUM_STR(XrResult);
_(enabled) \
_(timeout) \
+/// Calls your macro with the name of each member of XrSpaceComponentStatusFB, in order.
#define XR_LIST_STRUCT_XrSpaceComponentStatusFB(_) \
_(type) \
_(next) \
_(enabled) \
_(changePending) \
+/// Calls your macro with the name of each member of XrUuidEXT, in order.
#define XR_LIST_STRUCT_XrUuidEXT(_) \
_(data) \
+/// Calls your macro with the name of each member of XrEventDataSpatialAnchorCreateCompleteFB, in order.
#define XR_LIST_STRUCT_XrEventDataSpatialAnchorCreateCompleteFB(_) \
_(type) \
_(next) \
@@ -2234,6 +2483,7 @@ XR_ENUM_STR(XrResult);
_(space) \
_(uuid) \
+/// Calls your macro with the name of each member of XrEventDataSpaceSetStatusCompleteFB, in order.
#define XR_LIST_STRUCT_XrEventDataSpaceSetStatusCompleteFB(_) \
_(type) \
_(next) \
@@ -2244,21 +2494,25 @@ XR_ENUM_STR(XrResult);
_(componentType) \
_(enabled) \
+/// Calls your macro with the name of each member of XrFoveationProfileCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrFoveationProfileCreateInfoFB(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSwapchainCreateInfoFoveationFB, in order.
#define XR_LIST_STRUCT_XrSwapchainCreateInfoFoveationFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrSwapchainStateFoveationFB, in order.
#define XR_LIST_STRUCT_XrSwapchainStateFoveationFB(_) \
_(type) \
_(next) \
_(flags) \
_(profile) \
+/// Calls your macro with the name of each member of XrFoveationLevelProfileCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrFoveationLevelProfileCreateInfoFB(_) \
_(type) \
_(next) \
@@ -2266,27 +2520,32 @@ XR_ENUM_STR(XrResult);
_(verticalOffset) \
_(dynamic) \
+/// Calls your macro with the name of each member of XrSystemKeyboardTrackingPropertiesFB, in order.
#define XR_LIST_STRUCT_XrSystemKeyboardTrackingPropertiesFB(_) \
_(type) \
_(next) \
_(supportsKeyboardTracking) \
+/// Calls your macro with the name of each member of XrKeyboardTrackingDescriptionFB, in order.
#define XR_LIST_STRUCT_XrKeyboardTrackingDescriptionFB(_) \
_(trackedKeyboardId) \
_(size) \
_(flags) \
_(name) \
+/// Calls your macro with the name of each member of XrKeyboardSpaceCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrKeyboardSpaceCreateInfoFB(_) \
_(type) \
_(next) \
_(trackedKeyboardId) \
+/// Calls your macro with the name of each member of XrKeyboardTrackingQueryFB, in order.
#define XR_LIST_STRUCT_XrKeyboardTrackingQueryFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrTriangleMeshCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrTriangleMeshCreateInfoFB(_) \
_(type) \
_(next) \
@@ -2297,21 +2556,25 @@ XR_ENUM_STR(XrResult);
_(triangleCount) \
_(indexBuffer) \
+/// Calls your macro with the name of each member of XrSystemPassthroughPropertiesFB, in order.
#define XR_LIST_STRUCT_XrSystemPassthroughPropertiesFB(_) \
_(type) \
_(next) \
_(supportsPassthrough) \
+/// Calls your macro with the name of each member of XrSystemPassthroughProperties2FB, in order.
#define XR_LIST_STRUCT_XrSystemPassthroughProperties2FB(_) \
_(type) \
_(next) \
_(capabilities) \
+/// Calls your macro with the name of each member of XrPassthroughCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrPassthroughCreateInfoFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrPassthroughLayerCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrPassthroughLayerCreateInfoFB(_) \
_(type) \
_(next) \
@@ -2319,6 +2582,7 @@ XR_ENUM_STR(XrResult);
_(flags) \
_(purpose) \
+/// Calls your macro with the name of each member of XrCompositionLayerPassthroughFB, in order.
#define XR_LIST_STRUCT_XrCompositionLayerPassthroughFB(_) \
_(type) \
_(next) \
@@ -2326,6 +2590,7 @@ XR_ENUM_STR(XrResult);
_(space) \
_(layerHandle) \
+/// Calls your macro with the name of each member of XrGeometryInstanceCreateInfoFB, in order.
#define XR_LIST_STRUCT_XrGeometryInstanceCreateInfoFB(_) \
_(type) \
_(next) \
@@ -2335,6 +2600,7 @@ XR_ENUM_STR(XrResult);
_(pose) \
_(scale) \
+/// Calls your macro with the name of each member of XrGeometryInstanceTransformFB, in order.
#define XR_LIST_STRUCT_XrGeometryInstanceTransformFB(_) \
_(type) \
_(next) \
@@ -2343,22 +2609,26 @@ XR_ENUM_STR(XrResult);
_(pose) \
_(scale) \
+/// Calls your macro with the name of each member of XrPassthroughStyleFB, in order.
#define XR_LIST_STRUCT_XrPassthroughStyleFB(_) \
_(type) \
_(next) \
_(textureOpacityFactor) \
_(edgeColor) \
+/// Calls your macro with the name of each member of XrPassthroughColorMapMonoToRgbaFB, in order.
#define XR_LIST_STRUCT_XrPassthroughColorMapMonoToRgbaFB(_) \
_(type) \
_(next) \
_(textureColorMap) \
+/// Calls your macro with the name of each member of XrPassthroughColorMapMonoToMonoFB, in order.
#define XR_LIST_STRUCT_XrPassthroughColorMapMonoToMonoFB(_) \
_(type) \
_(next) \
_(textureColorMap) \
+/// Calls your macro with the name of each member of XrPassthroughBrightnessContrastSaturationFB, in order.
#define XR_LIST_STRUCT_XrPassthroughBrightnessContrastSaturationFB(_) \
_(type) \
_(next) \
@@ -2366,16 +2636,19 @@ XR_ENUM_STR(XrResult);
_(contrast) \
_(saturation) \
+/// Calls your macro with the name of each member of XrEventDataPassthroughStateChangedFB, in order.
#define XR_LIST_STRUCT_XrEventDataPassthroughStateChangedFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrRenderModelPathInfoFB, in order.
#define XR_LIST_STRUCT_XrRenderModelPathInfoFB(_) \
_(type) \
_(next) \
_(path) \
+/// Calls your macro with the name of each member of XrRenderModelPropertiesFB, in order.
#define XR_LIST_STRUCT_XrRenderModelPropertiesFB(_) \
_(type) \
_(next) \
@@ -2385,6 +2658,7 @@ XR_ENUM_STR(XrResult);
_(modelVersion) \
_(flags) \
+/// Calls your macro with the name of each member of XrRenderModelBufferFB, in order.
#define XR_LIST_STRUCT_XrRenderModelBufferFB(_) \
_(type) \
_(next) \
@@ -2392,47 +2666,56 @@ XR_ENUM_STR(XrResult);
_(bufferCountOutput) \
_(buffer) \
+/// Calls your macro with the name of each member of XrRenderModelLoadInfoFB, in order.
#define XR_LIST_STRUCT_XrRenderModelLoadInfoFB(_) \
_(type) \
_(next) \
_(modelKey) \
+/// Calls your macro with the name of each member of XrSystemRenderModelPropertiesFB, in order.
#define XR_LIST_STRUCT_XrSystemRenderModelPropertiesFB(_) \
_(type) \
_(next) \
_(supportsRenderModelLoading) \
+/// Calls your macro with the name of each member of XrRenderModelCapabilitiesRequestFB, in order.
#define XR_LIST_STRUCT_XrRenderModelCapabilitiesRequestFB(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrViewLocateFoveatedRenderingVARJO, in order.
#define XR_LIST_STRUCT_XrViewLocateFoveatedRenderingVARJO(_) \
_(type) \
_(next) \
_(foveatedRenderingActive) \
+/// Calls your macro with the name of each member of XrFoveatedViewConfigurationViewVARJO, in order.
#define XR_LIST_STRUCT_XrFoveatedViewConfigurationViewVARJO(_) \
_(type) \
_(next) \
_(foveatedRenderingActive) \
+/// Calls your macro with the name of each member of XrSystemFoveatedRenderingPropertiesVARJO, in order.
#define XR_LIST_STRUCT_XrSystemFoveatedRenderingPropertiesVARJO(_) \
_(type) \
_(next) \
_(supportsFoveatedRendering) \
+/// Calls your macro with the name of each member of XrCompositionLayerDepthTestVARJO, in order.
#define XR_LIST_STRUCT_XrCompositionLayerDepthTestVARJO(_) \
_(type) \
_(next) \
_(depthTestRangeNearZ) \
_(depthTestRangeFarZ) \
+/// Calls your macro with the name of each member of XrSystemMarkerTrackingPropertiesVARJO, in order.
#define XR_LIST_STRUCT_XrSystemMarkerTrackingPropertiesVARJO(_) \
_(type) \
_(next) \
_(supportsMarkerTracking) \
+/// Calls your macro with the name of each member of XrEventDataMarkerTrackingUpdateVARJO, in order.
#define XR_LIST_STRUCT_XrEventDataMarkerTrackingUpdateVARJO(_) \
_(type) \
_(next) \
@@ -2441,35 +2724,42 @@ XR_ENUM_STR(XrResult);
_(isPredicted) \
_(time) \
+/// Calls your macro with the name of each member of XrMarkerSpaceCreateInfoVARJO, in order.
#define XR_LIST_STRUCT_XrMarkerSpaceCreateInfoVARJO(_) \
_(type) \
_(next) \
_(markerId) \
_(poseInMarkerSpace) \
+/// Calls your macro with the name of each member of XrSpatialAnchorPersistenceNameMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialAnchorPersistenceNameMSFT(_) \
_(name) \
+/// Calls your macro with the name of each member of XrSpatialAnchorPersistenceInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialAnchorPersistenceInfoMSFT(_) \
_(type) \
_(next) \
_(spatialAnchorPersistenceName) \
_(spatialAnchor) \
+/// Calls your macro with the name of each member of XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, in order.
#define XR_LIST_STRUCT_XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT(_) \
_(type) \
_(next) \
_(spatialAnchorStore) \
_(spatialAnchorPersistenceName) \
+/// Calls your macro with the name of each member of XrSpaceQueryInfoBaseHeaderFB, in order.
#define XR_LIST_STRUCT_XrSpaceQueryInfoBaseHeaderFB(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSpaceFilterInfoBaseHeaderFB, in order.
#define XR_LIST_STRUCT_XrSpaceFilterInfoBaseHeaderFB(_) \
_(type) \
_(next) \
+/// Calls your macro with the name of each member of XrSpaceQueryInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceQueryInfoFB(_) \
_(type) \
_(next) \
@@ -2479,26 +2769,31 @@ XR_ENUM_STR(XrResult);
_(filter) \
_(excludeFilter) \
+/// Calls your macro with the name of each member of XrSpaceStorageLocationFilterInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceStorageLocationFilterInfoFB(_) \
_(type) \
_(next) \
_(location) \
+/// Calls your macro with the name of each member of XrSpaceUuidFilterInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceUuidFilterInfoFB(_) \
_(type) \
_(next) \
_(uuidCount) \
_(uuids) \
+/// Calls your macro with the name of each member of XrSpaceComponentFilterInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceComponentFilterInfoFB(_) \
_(type) \
_(next) \
_(componentType) \
+/// Calls your macro with the name of each member of XrSpaceQueryResultFB, in order.
#define XR_LIST_STRUCT_XrSpaceQueryResultFB(_) \
_(space) \
_(uuid) \
+/// Calls your macro with the name of each member of XrSpaceQueryResultsFB, in order.
#define XR_LIST_STRUCT_XrSpaceQueryResultsFB(_) \
_(type) \
_(next) \
@@ -2506,17 +2801,20 @@ XR_ENUM_STR(XrResult);
_(resultCountOutput) \
_(results) \
+/// Calls your macro with the name of each member of XrEventDataSpaceQueryResultsAvailableFB, in order.
#define XR_LIST_STRUCT_XrEventDataSpaceQueryResultsAvailableFB(_) \
_(type) \
_(next) \
_(requestId) \
+/// Calls your macro with the name of each member of XrEventDataSpaceQueryCompleteFB, in order.
#define XR_LIST_STRUCT_XrEventDataSpaceQueryCompleteFB(_) \
_(type) \
_(next) \
_(requestId) \
_(result) \
+/// Calls your macro with the name of each member of XrSpaceSaveInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceSaveInfoFB(_) \
_(type) \
_(next) \
@@ -2524,12 +2822,14 @@ XR_ENUM_STR(XrResult);
_(location) \
_(persistenceMode) \
+/// Calls your macro with the name of each member of XrSpaceEraseInfoFB, in order.
#define XR_LIST_STRUCT_XrSpaceEraseInfoFB(_) \
_(type) \
_(next) \
_(space) \
_(location) \
+/// Calls your macro with the name of each member of XrEventDataSpaceSaveCompleteFB, in order.
#define XR_LIST_STRUCT_XrEventDataSpaceSaveCompleteFB(_) \
_(type) \
_(next) \
@@ -2539,6 +2839,7 @@ XR_ENUM_STR(XrResult);
_(uuid) \
_(location) \
+/// Calls your macro with the name of each member of XrEventDataSpaceEraseCompleteFB, in order.
#define XR_LIST_STRUCT_XrEventDataSpaceEraseCompleteFB(_) \
_(type) \
_(next) \
@@ -2548,6 +2849,7 @@ XR_ENUM_STR(XrResult);
_(uuid) \
_(location) \
+/// Calls your macro with the name of each member of XrSwapchainImageFoveationVulkanFB, in order.
#define XR_LIST_STRUCT_XrSwapchainImageFoveationVulkanFB(_) \
_(type) \
_(next) \
@@ -2555,12 +2857,14 @@ XR_ENUM_STR(XrResult);
_(width) \
_(height) \
+/// Calls your macro with the name of each member of XrSwapchainStateAndroidSurfaceDimensionsFB, in order.
#define XR_LIST_STRUCT_XrSwapchainStateAndroidSurfaceDimensionsFB(_) \
_(type) \
_(next) \
_(width) \
_(height) \
+/// Calls your macro with the name of each member of XrSwapchainStateSamplerOpenGLESFB, in order.
#define XR_LIST_STRUCT_XrSwapchainStateSamplerOpenGLESFB(_) \
_(type) \
_(next) \
@@ -2575,6 +2879,7 @@ XR_ENUM_STR(XrResult);
_(maxAnisotropy) \
_(borderColor) \
+/// Calls your macro with the name of each member of XrSwapchainStateSamplerVulkanFB, in order.
#define XR_LIST_STRUCT_XrSwapchainStateSamplerVulkanFB(_) \
_(type) \
_(next) \
@@ -2590,6 +2895,7 @@ XR_ENUM_STR(XrResult);
_(maxAnisotropy) \
_(borderColor) \
+/// Calls your macro with the name of each member of XrCompositionLayerSpaceWarpInfoFB, in order.
#define XR_LIST_STRUCT_XrCompositionLayerSpaceWarpInfoFB(_) \
_(type) \
_(next) \
@@ -2602,26 +2908,31 @@ XR_ENUM_STR(XrResult);
_(nearZ) \
_(farZ) \
+/// Calls your macro with the name of each member of XrSystemSpaceWarpPropertiesFB, in order.
#define XR_LIST_STRUCT_XrSystemSpaceWarpPropertiesFB(_) \
_(type) \
_(next) \
_(recommendedMotionVectorImageRectWidth) \
_(recommendedMotionVectorImageRectHeight) \
+/// Calls your macro with the name of each member of XrExtent3DfFB, in order.
#define XR_LIST_STRUCT_XrExtent3DfFB(_) \
_(width) \
_(height) \
_(depth) \
+/// Calls your macro with the name of each member of XrOffset3DfFB, in order.
#define XR_LIST_STRUCT_XrOffset3DfFB(_) \
_(x) \
_(y) \
_(z) \
+/// Calls your macro with the name of each member of XrRect3DfFB, in order.
#define XR_LIST_STRUCT_XrRect3DfFB(_) \
_(offset) \
_(extent) \
+/// Calls your macro with the name of each member of XrSemanticLabelsFB, in order.
#define XR_LIST_STRUCT_XrSemanticLabelsFB(_) \
_(type) \
_(next) \
@@ -2629,6 +2940,7 @@ XR_ENUM_STR(XrResult);
_(bufferCountOutput) \
_(buffer) \
+/// Calls your macro with the name of each member of XrRoomLayoutFB, in order.
#define XR_LIST_STRUCT_XrRoomLayoutFB(_) \
_(type) \
_(next) \
@@ -2638,6 +2950,7 @@ XR_ENUM_STR(XrResult);
_(wallUuidCountOutput) \
_(wallUuids) \
+/// Calls your macro with the name of each member of XrBoundary2DFB, in order.
#define XR_LIST_STRUCT_XrBoundary2DFB(_) \
_(type) \
_(next) \
@@ -2645,11 +2958,13 @@ XR_ENUM_STR(XrResult);
_(vertexCountOutput) \
_(vertices) \
+/// Calls your macro with the name of each member of XrDigitalLensControlALMALENCE, in order.
#define XR_LIST_STRUCT_XrDigitalLensControlALMALENCE(_) \
_(type) \
_(next) \
_(flags) \
+/// Calls your macro with the name of each member of XrSpaceContainerFB, in order.
#define XR_LIST_STRUCT_XrSpaceContainerFB(_) \
_(type) \
_(next) \
@@ -2657,28 +2972,33 @@ XR_ENUM_STR(XrResult);
_(uuidCountOutput) \
_(uuids) \
+/// Calls your macro with the name of each member of XrPassthroughKeyboardHandsIntensityFB, in order.
#define XR_LIST_STRUCT_XrPassthroughKeyboardHandsIntensityFB(_) \
_(type) \
_(next) \
_(leftHandIntensity) \
_(rightHandIntensity) \
+/// Calls your macro with the name of each member of XrCompositionLayerSettingsFB, in order.
#define XR_LIST_STRUCT_XrCompositionLayerSettingsFB(_) \
_(type) \
_(next) \
_(layerFlags) \
+/// Calls your macro with the name of each member of XrVulkanSwapchainCreateInfoMETA, in order.
#define XR_LIST_STRUCT_XrVulkanSwapchainCreateInfoMETA(_) \
_(type) \
_(next) \
_(additionalCreateFlags) \
_(additionalUsageFlags) \
+/// Calls your macro with the name of each member of XrPerformanceMetricsStateMETA, in order.
#define XR_LIST_STRUCT_XrPerformanceMetricsStateMETA(_) \
_(type) \
_(next) \
_(enabled) \
+/// Calls your macro with the name of each member of XrPerformanceMetricsCounterMETA, in order.
#define XR_LIST_STRUCT_XrPerformanceMetricsCounterMETA(_) \
_(type) \
_(next) \
@@ -2687,8 +3007,107 @@ XR_ENUM_STR(XrResult);
_(uintValue) \
_(floatValue) \
+/// Calls your macro with the name of each member of XrSystemHeadsetIdPropertiesMETA, in order.
+#define XR_LIST_STRUCT_XrSystemHeadsetIdPropertiesMETA(_) \
+ _(type) \
+ _(next) \
+ _(id) \
+
+/// Calls your macro with the name of each member of XrPassthroughCreateInfoHTC, in order.
+#define XR_LIST_STRUCT_XrPassthroughCreateInfoHTC(_) \
+ _(type) \
+ _(next) \
+ _(form) \
+
+/// Calls your macro with the name of each member of XrPassthroughColorHTC, in order.
+#define XR_LIST_STRUCT_XrPassthroughColorHTC(_) \
+ _(type) \
+ _(next) \
+ _(alpha) \
+
+/// Calls your macro with the name of each member of XrPassthroughMeshTransformInfoHTC, in order.
+#define XR_LIST_STRUCT_XrPassthroughMeshTransformInfoHTC(_) \
+ _(type) \
+ _(next) \
+ _(vertexCount) \
+ _(vertices) \
+ _(indexCount) \
+ _(indices) \
+ _(baseSpace) \
+ _(time) \
+ _(pose) \
+ _(scale) \
+
+/// Calls your macro with the name of each member of XrCompositionLayerPassthroughHTC, in order.
+#define XR_LIST_STRUCT_XrCompositionLayerPassthroughHTC(_) \
+ _(type) \
+ _(next) \
+ _(layerFlags) \
+ _(space) \
+ _(passthrough) \
+ _(color) \
+
+/// Calls your macro with the name of each member of XrFoveationApplyInfoHTC, in order.
+#define XR_LIST_STRUCT_XrFoveationApplyInfoHTC(_) \
+ _(type) \
+ _(next) \
+ _(mode) \
+ _(subImageCount) \
+ _(subImages) \
+
+/// Calls your macro with the name of each member of XrFoveationConfigurationHTC, in order.
+#define XR_LIST_STRUCT_XrFoveationConfigurationHTC(_) \
+ _(level) \
+ _(clearFovDegree) \
+ _(focalCenterOffset) \
+/// Calls your macro with the name of each member of XrFoveationDynamicModeInfoHTC, in order.
+#define XR_LIST_STRUCT_XrFoveationDynamicModeInfoHTC(_) \
+ _(type) \
+ _(next) \
+ _(dynamicFlags) \
+/// Calls your macro with the name of each member of XrFoveationCustomModeInfoHTC, in order.
+#define XR_LIST_STRUCT_XrFoveationCustomModeInfoHTC(_) \
+ _(type) \
+ _(next) \
+ _(configCount) \
+ _(configs) \
+
+/// Calls your macro with the name of each member of XrActiveActionSetPriorityEXT, in order.
+#define XR_LIST_STRUCT_XrActiveActionSetPriorityEXT(_) \
+ _(actionSet) \
+ _(priorityOverride) \
+
+/// Calls your macro with the name of each member of XrActiveActionSetPrioritiesEXT, in order.
+#define XR_LIST_STRUCT_XrActiveActionSetPrioritiesEXT(_) \
+ _(type) \
+ _(next) \
+ _(actionSetPriorityCount) \
+ _(actionSetPriorities) \
+
+
+
+/// Calls your macro with the structure type name and the XrStructureType constant for
+/// each known/available structure type, excluding those unavailable due to preprocessor definitions.
+#define XR_LIST_STRUCTURE_TYPES(_) \
+ XR_LIST_STRUCTURE_TYPES_CORE(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_) \
+ XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_) \
+
+
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES() - structure types available without any preprocessor definitions
#define XR_LIST_STRUCTURE_TYPES_CORE(_) \
_(XrApiLayerProperties, XR_TYPE_API_LAYER_PROPERTIES) \
_(XrExtensionProperties, XR_TYPE_EXTENSION_PROPERTIES) \
@@ -2889,99 +3308,117 @@ XR_ENUM_STR(XrResult);
_(XrCompositionLayerSettingsFB, XR_TYPE_COMPOSITION_LAYER_SETTINGS_FB) \
_(XrPerformanceMetricsStateMETA, XR_TYPE_PERFORMANCE_METRICS_STATE_META) \
_(XrPerformanceMetricsCounterMETA, XR_TYPE_PERFORMANCE_METRICS_COUNTER_META) \
-
-
+ _(XrSystemHeadsetIdPropertiesMETA, XR_TYPE_SYSTEM_HEADSET_ID_PROPERTIES_META) \
+ _(XrPassthroughCreateInfoHTC, XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC) \
+ _(XrPassthroughColorHTC, XR_TYPE_PASSTHROUGH_COLOR_HTC) \
+ _(XrPassthroughMeshTransformInfoHTC, XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC) \
+ _(XrCompositionLayerPassthroughHTC, XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC) \
+ _(XrFoveationApplyInfoHTC, XR_TYPE_FOVEATION_APPLY_INFO_HTC) \
+ _(XrFoveationDynamicModeInfoHTC, XR_TYPE_FOVEATION_DYNAMIC_MODE_INFO_HTC) \
+ _(XrFoveationCustomModeInfoHTC, XR_TYPE_FOVEATION_CUSTOM_MODE_INFO_HTC) \
+ _(XrActiveActionSetPrioritiesEXT, XR_TYPE_ACTIVE_ACTION_SET_PRIORITIES_EXT) \
#if defined(XR_USE_GRAPHICS_API_D3D11)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_D3D11 is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_) \
_(XrGraphicsBindingD3D11KHR, XR_TYPE_GRAPHICS_BINDING_D3D11_KHR) \
_(XrSwapchainImageD3D11KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR) \
_(XrGraphicsRequirementsD3D11KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_D3D11_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_)
#endif
#if defined(XR_USE_GRAPHICS_API_D3D12)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_D3D12 is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_) \
_(XrGraphicsBindingD3D12KHR, XR_TYPE_GRAPHICS_BINDING_D3D12_KHR) \
_(XrSwapchainImageD3D12KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR) \
_(XrGraphicsRequirementsD3D12KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_D3D12_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_) \
_(XrSwapchainImageOpenGLKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR) \
_(XrGraphicsRequirementsOpenGLKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_WAYLAND)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL and XR_USE_PLATFORM_WAYLAND are defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_) \
_(XrGraphicsBindingOpenGLWaylandKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_WAYLAND_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_WIN32)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL and XR_USE_PLATFORM_WIN32 are defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_) \
_(XrGraphicsBindingOpenGLWin32KHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_XCB)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL and XR_USE_PLATFORM_XCB are defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_) \
_(XrGraphicsBindingOpenGLXcbKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_XCB_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_XLIB)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL and XR_USE_PLATFORM_XLIB are defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_) \
_(XrGraphicsBindingOpenGLXlibKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_XLIB_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL_ES is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_) \
_(XrSwapchainImageOpenGLESKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR) \
_(XrGraphicsRequirementsOpenGLESKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR) \
_(XrSwapchainStateSamplerOpenGLESFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_)
#endif
#if defined(XR_USE_GRAPHICS_API_OPENGL_ES) && defined(XR_USE_PLATFORM_ANDROID)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_OPENGL_ES and XR_USE_PLATFORM_ANDROID are defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_) \
_(XrGraphicsBindingOpenGLESAndroidKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_)
#endif
#if defined(XR_USE_GRAPHICS_API_VULKAN)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_GRAPHICS_API_VULKAN is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_) \
_(XrVulkanSwapchainFormatListCreateInfoKHR, XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR) \
_(XrGraphicsBindingVulkanKHR, XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR) \
@@ -2994,58 +3431,47 @@ XR_ENUM_STR(XrResult);
_(XrSwapchainStateSamplerVulkanFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB) \
_(XrVulkanSwapchainCreateInfoMETA, XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_)
#endif
#if defined(XR_USE_PLATFORM_ANDROID)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_PLATFORM_ANDROID is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_) \
_(XrInstanceCreateInfoAndroidKHR, XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR) \
_(XrLoaderInitInfoAndroidKHR, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR) \
_(XrAndroidSurfaceSwapchainCreateInfoFB, XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB) \
_(XrSwapchainStateAndroidSurfaceDimensionsFB, XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_)
#endif
#if defined(XR_USE_PLATFORM_EGL)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_PLATFORM_EGL is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_) \
_(XrGraphicsBindingEGLMNDX, XR_TYPE_GRAPHICS_BINDING_EGL_MNDX) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_)
#endif
#if defined(XR_USE_PLATFORM_WIN32)
+/// Implementation detail of XR_LIST_STRUCTURE_TYPES()
+/// Structure types available only when XR_USE_PLATFORM_WIN32 is defined
#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_) \
_(XrHolographicWindowAttachmentMSFT, XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT) \
-
#else
#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_)
#endif
-#define XR_LIST_STRUCTURE_TYPES(_) \
- XR_LIST_STRUCTURE_TYPES_CORE(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_) \
- XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_) \
+/// Calls your macro with the name and extension number of all known
+/// extensions in this version of the spec.
#define XR_LIST_EXTENSIONS(_) \
_(XR_KHR_android_thread_settings, 4) \
_(XR_KHR_android_surface_swapchain, 5) \
@@ -3151,7 +3577,11 @@ XR_ENUM_STR(XrResult);
_(XR_FB_composition_layer_settings, 205) \
_(XR_META_vulkan_swapchain_create_info, 228) \
_(XR_META_performance_metrics, 233) \
+ _(XR_META_headset_id, 246) \
_(XR_EXT_uuid, 300) \
+ _(XR_HTC_passthrough, 318) \
+ _(XR_HTC_foveation, 319) \
+ _(XR_EXT_active_action_set_priority, 374) \
#endif
diff --git a/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h b/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h
new file mode 100644
index 0000000000..19b0e1c3f6
--- /dev/null
+++ b/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h
@@ -0,0 +1,261 @@
+#ifndef OPENXR_REFLECTION_PARENT_STRUCTS_H_
+#define OPENXR_REFLECTION_PARENT_STRUCTS_H_ 1
+
+/*
+** Copyright (c) 2017-2022, The Khronos Group Inc.
+**
+** SPDX-License-Identifier: Apache-2.0 OR MIT
+*/
+
+/*
+** This header is generated from the Khronos OpenXR XML API Registry.
+**
+*/
+
+#include "openxr.h"
+
+/*
+This file contains expansion macros (X Macros) for OpenXR structures that have a parent type.
+*/
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrCompositionLayerBaseHeader
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrCompositionLayerBaseHeader(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrCompositionLayerBaseHeader_CORE(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrCompositionLayerBaseHeader()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrCompositionLayerBaseHeader_CORE(_avail, _unavail) \
+ _avail(XrCompositionLayerProjection, XR_TYPE_COMPOSITION_LAYER_PROJECTION) \
+ _avail(XrCompositionLayerQuad, XR_TYPE_COMPOSITION_LAYER_QUAD) \
+ _avail(XrCompositionLayerCubeKHR, XR_TYPE_COMPOSITION_LAYER_CUBE_KHR) \
+ _avail(XrCompositionLayerCylinderKHR, XR_TYPE_COMPOSITION_LAYER_CYLINDER_KHR) \
+ _avail(XrCompositionLayerEquirectKHR, XR_TYPE_COMPOSITION_LAYER_EQUIRECT_KHR) \
+ _avail(XrCompositionLayerEquirect2KHR, XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR) \
+ _avail(XrCompositionLayerPassthroughHTC, XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC) \
+
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrEventDataBaseHeader
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrEventDataBaseHeader(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrEventDataBaseHeader_CORE(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrEventDataBaseHeader()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrEventDataBaseHeader_CORE(_avail, _unavail) \
+ _avail(XrEventDataEventsLost, XR_TYPE_EVENT_DATA_EVENTS_LOST) \
+ _avail(XrEventDataInstanceLossPending, XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING) \
+ _avail(XrEventDataSessionStateChanged, XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED) \
+ _avail(XrEventDataReferenceSpaceChangePending, XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING) \
+ _avail(XrEventDataInteractionProfileChanged, XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED) \
+ _avail(XrEventDataVisibilityMaskChangedKHR, XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR) \
+ _avail(XrEventDataPerfSettingsEXT, XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT) \
+ _avail(XrEventDataMainSessionVisibilityChangedEXTX, XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX) \
+ _avail(XrEventDataDisplayRefreshRateChangedFB, XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB) \
+ _avail(XrEventDataViveTrackerConnectedHTCX, XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX) \
+ _avail(XrEventDataSpatialAnchorCreateCompleteFB, XR_TYPE_EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB) \
+ _avail(XrEventDataSpaceSetStatusCompleteFB, XR_TYPE_EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB) \
+ _avail(XrEventDataMarkerTrackingUpdateVARJO, XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO) \
+ _avail(XrEventDataSpaceQueryResultsAvailableFB, XR_TYPE_EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB) \
+ _avail(XrEventDataSpaceQueryCompleteFB, XR_TYPE_EVENT_DATA_SPACE_QUERY_COMPLETE_FB) \
+ _avail(XrEventDataSpaceSaveCompleteFB, XR_TYPE_EVENT_DATA_SPACE_SAVE_COMPLETE_FB) \
+ _avail(XrEventDataSpaceEraseCompleteFB, XR_TYPE_EVENT_DATA_SPACE_ERASE_COMPLETE_FB) \
+
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrHapticBaseHeader
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrHapticBaseHeader(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrHapticBaseHeader_CORE(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrHapticBaseHeader()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrHapticBaseHeader_CORE(_avail, _unavail) \
+ _avail(XrHapticVibration, XR_TYPE_HAPTIC_VIBRATION) \
+
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrSwapchainImageBaseHeader
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_CORE(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_D3D11(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_D3D12(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_OPENGL(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_CORE(_avail, _unavail) \
+
+
+#if defined(XR_USE_GRAPHICS_API_D3D11)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_D3D11(_avail, _unavail) \
+ _avail(XrSwapchainImageD3D11KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_D3D11(_avail, _unavail) \
+ _unavail(XrSwapchainImageD3D11KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_D3D12)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_D3D12(_avail, _unavail) \
+ _avail(XrSwapchainImageD3D12KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_D3D12(_avail, _unavail) \
+ _unavail(XrSwapchainImageD3D12KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_OPENGL(_avail, _unavail) \
+ _avail(XrSwapchainImageOpenGLKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_OPENGL(_avail, _unavail) \
+ _unavail(XrSwapchainImageOpenGLKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _avail(XrSwapchainImageOpenGLESKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _unavail(XrSwapchainImageOpenGLESKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_VULKAN)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _avail(XrSwapchainImageVulkanKHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainImageBaseHeader_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _unavail(XrSwapchainImageVulkanKHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR) \
+
+#endif
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrLoaderInitInfoBaseHeaderKHR
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR_CORE(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR_CORE(_avail, _unavail) \
+
+
+#if defined(XR_USE_PLATFORM_ANDROID)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _avail(XrLoaderInitInfoAndroidKHR, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrLoaderInitInfoBaseHeaderKHR_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _unavail(XrLoaderInitInfoAndroidKHR, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR) \
+
+#endif
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrBindingModificationBaseHeaderKHR
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrBindingModificationBaseHeaderKHR(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrBindingModificationBaseHeaderKHR_CORE(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrBindingModificationBaseHeaderKHR()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrBindingModificationBaseHeaderKHR_CORE(_avail, _unavail) \
+ _avail(XrInteractionProfileDpadBindingEXT, XR_TYPE_INTERACTION_PROFILE_DPAD_BINDING_EXT) \
+ _avail(XrInteractionProfileAnalogThresholdVALVE, XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE) \
+
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrSwapchainStateBaseHeaderFB
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_CORE(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_CORE(_avail, _unavail) \
+ _avail(XrSwapchainStateFoveationFB, XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB) \
+
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _avail(XrSwapchainStateSamplerOpenGLESFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _unavail(XrSwapchainStateSamplerOpenGLESFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_VULKAN)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _avail(XrSwapchainStateSamplerVulkanFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _unavail(XrSwapchainStateSamplerVulkanFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB) \
+
+#endif
+
+#if defined(XR_USE_PLATFORM_ANDROID)
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _avail(XrSwapchainStateAndroidSurfaceDimensionsFB, XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB) \
+
+#else
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSwapchainStateBaseHeaderFB_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _unavail(XrSwapchainStateAndroidSurfaceDimensionsFB, XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB) \
+
+#endif
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrSpaceQueryInfoBaseHeaderFB
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceQueryInfoBaseHeaderFB(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceQueryInfoBaseHeaderFB_CORE(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceQueryInfoBaseHeaderFB()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceQueryInfoBaseHeaderFB_CORE(_avail, _unavail) \
+ _avail(XrSpaceQueryInfoFB, XR_TYPE_SPACE_QUERY_INFO_FB) \
+
+
+
+
+
+/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrSpaceFilterInfoBaseHeaderFB
+#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceFilterInfoBaseHeaderFB(_avail, _unavail) \
+ _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceFilterInfoBaseHeaderFB_CORE(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceFilterInfoBaseHeaderFB()
+#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpaceFilterInfoBaseHeaderFB_CORE(_avail, _unavail) \
+ _avail(XrSpaceUuidFilterInfoFB, XR_TYPE_SPACE_UUID_FILTER_INFO_FB) \
+ _avail(XrSpaceComponentFilterInfoFB, XR_TYPE_SPACE_COMPONENT_FILTER_INFO_FB) \
+
+
+
+
+
+#endif
+
diff --git a/thirdparty/openxr/include/openxr/openxr_reflection_structs.h b/thirdparty/openxr/include/openxr/openxr_reflection_structs.h
new file mode 100644
index 0000000000..300bbbad6d
--- /dev/null
+++ b/thirdparty/openxr/include/openxr/openxr_reflection_structs.h
@@ -0,0 +1,427 @@
+#ifndef OPENXR_REFLECTION_STRUCTS_H_
+#define OPENXR_REFLECTION_STRUCTS_H_ 1
+
+/*
+** Copyright (c) 2017-2022, The Khronos Group Inc.
+**
+** SPDX-License-Identifier: Apache-2.0 OR MIT
+*/
+
+/*
+** This header is generated from the Khronos OpenXR XML API Registry.
+**
+*/
+
+#include "openxr.h"
+
+/*
+This file contains expansion macros (X Macros) for OpenXR structures.
+*/
+
+
+
+/// Calls one of your macros with the structure type name and the XrStructureType constant for
+/// each known structure type. The first macro (_avail) is called for those that are available,
+/// while the second macro (_unavail) is called for those unavailable due to preprocessor definitions.
+#define XR_LIST_ALL_STRUCTURE_TYPES(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_CORE(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_avail, _unavail) \
+ _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_avail, _unavail) \
+
+
+// Implementation detail of XR_LIST_ALL_STRUCTURE_TYPES()
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_CORE(_avail, _unavail) \
+ _avail(XrApiLayerProperties, XR_TYPE_API_LAYER_PROPERTIES) \
+ _avail(XrExtensionProperties, XR_TYPE_EXTENSION_PROPERTIES) \
+ _avail(XrInstanceCreateInfo, XR_TYPE_INSTANCE_CREATE_INFO) \
+ _avail(XrInstanceProperties, XR_TYPE_INSTANCE_PROPERTIES) \
+ _avail(XrEventDataBuffer, XR_TYPE_EVENT_DATA_BUFFER) \
+ _avail(XrSystemGetInfo, XR_TYPE_SYSTEM_GET_INFO) \
+ _avail(XrSystemProperties, XR_TYPE_SYSTEM_PROPERTIES) \
+ _avail(XrSessionCreateInfo, XR_TYPE_SESSION_CREATE_INFO) \
+ _avail(XrSpaceVelocity, XR_TYPE_SPACE_VELOCITY) \
+ _avail(XrReferenceSpaceCreateInfo, XR_TYPE_REFERENCE_SPACE_CREATE_INFO) \
+ _avail(XrActionSpaceCreateInfo, XR_TYPE_ACTION_SPACE_CREATE_INFO) \
+ _avail(XrSpaceLocation, XR_TYPE_SPACE_LOCATION) \
+ _avail(XrViewConfigurationProperties, XR_TYPE_VIEW_CONFIGURATION_PROPERTIES) \
+ _avail(XrViewConfigurationView, XR_TYPE_VIEW_CONFIGURATION_VIEW) \
+ _avail(XrSwapchainCreateInfo, XR_TYPE_SWAPCHAIN_CREATE_INFO) \
+ _avail(XrSwapchainImageAcquireInfo, XR_TYPE_SWAPCHAIN_IMAGE_ACQUIRE_INFO) \
+ _avail(XrSwapchainImageWaitInfo, XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO) \
+ _avail(XrSwapchainImageReleaseInfo, XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO) \
+ _avail(XrSessionBeginInfo, XR_TYPE_SESSION_BEGIN_INFO) \
+ _avail(XrFrameWaitInfo, XR_TYPE_FRAME_WAIT_INFO) \
+ _avail(XrFrameState, XR_TYPE_FRAME_STATE) \
+ _avail(XrFrameBeginInfo, XR_TYPE_FRAME_BEGIN_INFO) \
+ _avail(XrFrameEndInfo, XR_TYPE_FRAME_END_INFO) \
+ _avail(XrViewLocateInfo, XR_TYPE_VIEW_LOCATE_INFO) \
+ _avail(XrViewState, XR_TYPE_VIEW_STATE) \
+ _avail(XrView, XR_TYPE_VIEW) \
+ _avail(XrActionSetCreateInfo, XR_TYPE_ACTION_SET_CREATE_INFO) \
+ _avail(XrActionCreateInfo, XR_TYPE_ACTION_CREATE_INFO) \
+ _avail(XrInteractionProfileSuggestedBinding, XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING) \
+ _avail(XrSessionActionSetsAttachInfo, XR_TYPE_SESSION_ACTION_SETS_ATTACH_INFO) \
+ _avail(XrInteractionProfileState, XR_TYPE_INTERACTION_PROFILE_STATE) \
+ _avail(XrActionStateGetInfo, XR_TYPE_ACTION_STATE_GET_INFO) \
+ _avail(XrActionStateBoolean, XR_TYPE_ACTION_STATE_BOOLEAN) \
+ _avail(XrActionStateFloat, XR_TYPE_ACTION_STATE_FLOAT) \
+ _avail(XrActionStateVector2f, XR_TYPE_ACTION_STATE_VECTOR2F) \
+ _avail(XrActionStatePose, XR_TYPE_ACTION_STATE_POSE) \
+ _avail(XrActionsSyncInfo, XR_TYPE_ACTIONS_SYNC_INFO) \
+ _avail(XrBoundSourcesForActionEnumerateInfo, XR_TYPE_BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO) \
+ _avail(XrInputSourceLocalizedNameGetInfo, XR_TYPE_INPUT_SOURCE_LOCALIZED_NAME_GET_INFO) \
+ _avail(XrHapticActionInfo, XR_TYPE_HAPTIC_ACTION_INFO) \
+ _avail(XrCompositionLayerProjectionView, XR_TYPE_COMPOSITION_LAYER_PROJECTION_VIEW) \
+ _avail(XrCompositionLayerProjection, XR_TYPE_COMPOSITION_LAYER_PROJECTION) \
+ _avail(XrCompositionLayerQuad, XR_TYPE_COMPOSITION_LAYER_QUAD) \
+ _avail(XrEventDataEventsLost, XR_TYPE_EVENT_DATA_EVENTS_LOST) \
+ _avail(XrEventDataInstanceLossPending, XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING) \
+ _avail(XrEventDataSessionStateChanged, XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED) \
+ _avail(XrEventDataReferenceSpaceChangePending, XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING) \
+ _avail(XrEventDataInteractionProfileChanged, XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED) \
+ _avail(XrHapticVibration, XR_TYPE_HAPTIC_VIBRATION) \
+ _avail(XrCompositionLayerCubeKHR, XR_TYPE_COMPOSITION_LAYER_CUBE_KHR) \
+ _avail(XrCompositionLayerDepthInfoKHR, XR_TYPE_COMPOSITION_LAYER_DEPTH_INFO_KHR) \
+ _avail(XrCompositionLayerCylinderKHR, XR_TYPE_COMPOSITION_LAYER_CYLINDER_KHR) \
+ _avail(XrCompositionLayerEquirectKHR, XR_TYPE_COMPOSITION_LAYER_EQUIRECT_KHR) \
+ _avail(XrVisibilityMaskKHR, XR_TYPE_VISIBILITY_MASK_KHR) \
+ _avail(XrEventDataVisibilityMaskChangedKHR, XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR) \
+ _avail(XrCompositionLayerColorScaleBiasKHR, XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR) \
+ _avail(XrCompositionLayerEquirect2KHR, XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR) \
+ _avail(XrBindingModificationsKHR, XR_TYPE_BINDING_MODIFICATIONS_KHR) \
+ _avail(XrEventDataPerfSettingsEXT, XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT) \
+ _avail(XrDebugUtilsObjectNameInfoEXT, XR_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT) \
+ _avail(XrDebugUtilsLabelEXT, XR_TYPE_DEBUG_UTILS_LABEL_EXT) \
+ _avail(XrDebugUtilsMessengerCallbackDataEXT, XR_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT) \
+ _avail(XrDebugUtilsMessengerCreateInfoEXT, XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT) \
+ _avail(XrSystemEyeGazeInteractionPropertiesEXT, XR_TYPE_SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT) \
+ _avail(XrEyeGazeSampleTimeEXT, XR_TYPE_EYE_GAZE_SAMPLE_TIME_EXT) \
+ _avail(XrSessionCreateInfoOverlayEXTX, XR_TYPE_SESSION_CREATE_INFO_OVERLAY_EXTX) \
+ _avail(XrEventDataMainSessionVisibilityChangedEXTX, XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX) \
+ _avail(XrSpatialAnchorCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT) \
+ _avail(XrSpatialAnchorSpaceCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT) \
+ _avail(XrCompositionLayerImageLayoutFB, XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB) \
+ _avail(XrCompositionLayerAlphaBlendFB, XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB) \
+ _avail(XrViewConfigurationDepthRangeEXT, XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT) \
+ _avail(XrSpatialGraphNodeSpaceCreateInfoMSFT, XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT) \
+ _avail(XrSpatialGraphStaticNodeBindingCreateInfoMSFT, XR_TYPE_SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT) \
+ _avail(XrSpatialGraphNodeBindingPropertiesGetInfoMSFT, XR_TYPE_SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT) \
+ _avail(XrSpatialGraphNodeBindingPropertiesMSFT, XR_TYPE_SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT) \
+ _avail(XrSystemHandTrackingPropertiesEXT, XR_TYPE_SYSTEM_HAND_TRACKING_PROPERTIES_EXT) \
+ _avail(XrHandTrackerCreateInfoEXT, XR_TYPE_HAND_TRACKER_CREATE_INFO_EXT) \
+ _avail(XrHandJointsLocateInfoEXT, XR_TYPE_HAND_JOINTS_LOCATE_INFO_EXT) \
+ _avail(XrHandJointLocationsEXT, XR_TYPE_HAND_JOINT_LOCATIONS_EXT) \
+ _avail(XrHandJointVelocitiesEXT, XR_TYPE_HAND_JOINT_VELOCITIES_EXT) \
+ _avail(XrSystemHandTrackingMeshPropertiesMSFT, XR_TYPE_SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT) \
+ _avail(XrHandMeshSpaceCreateInfoMSFT, XR_TYPE_HAND_MESH_SPACE_CREATE_INFO_MSFT) \
+ _avail(XrHandMeshUpdateInfoMSFT, XR_TYPE_HAND_MESH_UPDATE_INFO_MSFT) \
+ _avail(XrHandMeshMSFT, XR_TYPE_HAND_MESH_MSFT) \
+ _avail(XrHandPoseTypeInfoMSFT, XR_TYPE_HAND_POSE_TYPE_INFO_MSFT) \
+ _avail(XrSecondaryViewConfigurationSessionBeginInfoMSFT, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT) \
+ _avail(XrSecondaryViewConfigurationStateMSFT, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_STATE_MSFT) \
+ _avail(XrSecondaryViewConfigurationFrameStateMSFT, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT) \
+ _avail(XrSecondaryViewConfigurationLayerInfoMSFT, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT) \
+ _avail(XrSecondaryViewConfigurationFrameEndInfoMSFT, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT) \
+ _avail(XrSecondaryViewConfigurationSwapchainCreateInfoMSFT, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT) \
+ _avail(XrControllerModelKeyStateMSFT, XR_TYPE_CONTROLLER_MODEL_KEY_STATE_MSFT) \
+ _avail(XrControllerModelNodePropertiesMSFT, XR_TYPE_CONTROLLER_MODEL_NODE_PROPERTIES_MSFT) \
+ _avail(XrControllerModelPropertiesMSFT, XR_TYPE_CONTROLLER_MODEL_PROPERTIES_MSFT) \
+ _avail(XrControllerModelNodeStateMSFT, XR_TYPE_CONTROLLER_MODEL_NODE_STATE_MSFT) \
+ _avail(XrControllerModelStateMSFT, XR_TYPE_CONTROLLER_MODEL_STATE_MSFT) \
+ _avail(XrViewConfigurationViewFovEPIC, XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC) \
+ _avail(XrCompositionLayerReprojectionInfoMSFT, XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT) \
+ _avail(XrCompositionLayerReprojectionPlaneOverrideMSFT, XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT) \
+ _avail(XrCompositionLayerSecureContentFB, XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB) \
+ _avail(XrInteractionProfileDpadBindingEXT, XR_TYPE_INTERACTION_PROFILE_DPAD_BINDING_EXT) \
+ _avail(XrInteractionProfileAnalogThresholdVALVE, XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE) \
+ _avail(XrHandJointsMotionRangeInfoEXT, XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT) \
+ _avail(XrSceneObserverCreateInfoMSFT, XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFT) \
+ _avail(XrSceneCreateInfoMSFT, XR_TYPE_SCENE_CREATE_INFO_MSFT) \
+ _avail(XrNewSceneComputeInfoMSFT, XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFT) \
+ _avail(XrVisualMeshComputeLodInfoMSFT, XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFT) \
+ _avail(XrSceneComponentsMSFT, XR_TYPE_SCENE_COMPONENTS_MSFT) \
+ _avail(XrSceneComponentsGetInfoMSFT, XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFT) \
+ _avail(XrSceneComponentLocationsMSFT, XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFT) \
+ _avail(XrSceneComponentsLocateInfoMSFT, XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFT) \
+ _avail(XrSceneObjectsMSFT, XR_TYPE_SCENE_OBJECTS_MSFT) \
+ _avail(XrSceneComponentParentFilterInfoMSFT, XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT) \
+ _avail(XrSceneObjectTypesFilterInfoMSFT, XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFT) \
+ _avail(XrScenePlanesMSFT, XR_TYPE_SCENE_PLANES_MSFT) \
+ _avail(XrScenePlaneAlignmentFilterInfoMSFT, XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT) \
+ _avail(XrSceneMeshesMSFT, XR_TYPE_SCENE_MESHES_MSFT) \
+ _avail(XrSceneMeshBuffersGetInfoMSFT, XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFT) \
+ _avail(XrSceneMeshBuffersMSFT, XR_TYPE_SCENE_MESH_BUFFERS_MSFT) \
+ _avail(XrSceneMeshVertexBufferMSFT, XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFT) \
+ _avail(XrSceneMeshIndicesUint32MSFT, XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFT) \
+ _avail(XrSceneMeshIndicesUint16MSFT, XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFT) \
+ _avail(XrSerializedSceneFragmentDataGetInfoMSFT, XR_TYPE_SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT) \
+ _avail(XrSceneDeserializeInfoMSFT, XR_TYPE_SCENE_DESERIALIZE_INFO_MSFT) \
+ _avail(XrEventDataDisplayRefreshRateChangedFB, XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB) \
+ _avail(XrViveTrackerPathsHTCX, XR_TYPE_VIVE_TRACKER_PATHS_HTCX) \
+ _avail(XrEventDataViveTrackerConnectedHTCX, XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX) \
+ _avail(XrSystemFacialTrackingPropertiesHTC, XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC) \
+ _avail(XrFacialExpressionsHTC, XR_TYPE_FACIAL_EXPRESSIONS_HTC) \
+ _avail(XrFacialTrackerCreateInfoHTC, XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC) \
+ _avail(XrSystemColorSpacePropertiesFB, XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB) \
+ _avail(XrHandTrackingMeshFB, XR_TYPE_HAND_TRACKING_MESH_FB) \
+ _avail(XrHandTrackingScaleFB, XR_TYPE_HAND_TRACKING_SCALE_FB) \
+ _avail(XrHandTrackingAimStateFB, XR_TYPE_HAND_TRACKING_AIM_STATE_FB) \
+ _avail(XrHandTrackingCapsulesStateFB, XR_TYPE_HAND_TRACKING_CAPSULES_STATE_FB) \
+ _avail(XrSystemSpatialEntityPropertiesFB, XR_TYPE_SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB) \
+ _avail(XrSpatialAnchorCreateInfoFB, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_FB) \
+ _avail(XrSpaceComponentStatusSetInfoFB, XR_TYPE_SPACE_COMPONENT_STATUS_SET_INFO_FB) \
+ _avail(XrSpaceComponentStatusFB, XR_TYPE_SPACE_COMPONENT_STATUS_FB) \
+ _avail(XrEventDataSpatialAnchorCreateCompleteFB, XR_TYPE_EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB) \
+ _avail(XrEventDataSpaceSetStatusCompleteFB, XR_TYPE_EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB) \
+ _avail(XrFoveationProfileCreateInfoFB, XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB) \
+ _avail(XrSwapchainCreateInfoFoveationFB, XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB) \
+ _avail(XrSwapchainStateFoveationFB, XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB) \
+ _avail(XrFoveationLevelProfileCreateInfoFB, XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB) \
+ _avail(XrSystemKeyboardTrackingPropertiesFB, XR_TYPE_SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB) \
+ _avail(XrKeyboardSpaceCreateInfoFB, XR_TYPE_KEYBOARD_SPACE_CREATE_INFO_FB) \
+ _avail(XrKeyboardTrackingQueryFB, XR_TYPE_KEYBOARD_TRACKING_QUERY_FB) \
+ _avail(XrTriangleMeshCreateInfoFB, XR_TYPE_TRIANGLE_MESH_CREATE_INFO_FB) \
+ _avail(XrSystemPassthroughPropertiesFB, XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES_FB) \
+ _avail(XrSystemPassthroughProperties2FB, XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES2_FB) \
+ _avail(XrPassthroughCreateInfoFB, XR_TYPE_PASSTHROUGH_CREATE_INFO_FB) \
+ _avail(XrPassthroughLayerCreateInfoFB, XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_FB) \
+ _avail(XrCompositionLayerPassthroughFB, XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_FB) \
+ _avail(XrGeometryInstanceCreateInfoFB, XR_TYPE_GEOMETRY_INSTANCE_CREATE_INFO_FB) \
+ _avail(XrGeometryInstanceTransformFB, XR_TYPE_GEOMETRY_INSTANCE_TRANSFORM_FB) \
+ _avail(XrPassthroughStyleFB, XR_TYPE_PASSTHROUGH_STYLE_FB) \
+ _avail(XrPassthroughColorMapMonoToRgbaFB, XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB) \
+ _avail(XrPassthroughColorMapMonoToMonoFB, XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB) \
+ _avail(XrPassthroughBrightnessContrastSaturationFB, XR_TYPE_PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB) \
+ _avail(XrEventDataPassthroughStateChangedFB, XR_TYPE_EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB) \
+ _avail(XrRenderModelPathInfoFB, XR_TYPE_RENDER_MODEL_PATH_INFO_FB) \
+ _avail(XrRenderModelPropertiesFB, XR_TYPE_RENDER_MODEL_PROPERTIES_FB) \
+ _avail(XrRenderModelBufferFB, XR_TYPE_RENDER_MODEL_BUFFER_FB) \
+ _avail(XrRenderModelLoadInfoFB, XR_TYPE_RENDER_MODEL_LOAD_INFO_FB) \
+ _avail(XrSystemRenderModelPropertiesFB, XR_TYPE_SYSTEM_RENDER_MODEL_PROPERTIES_FB) \
+ _avail(XrRenderModelCapabilitiesRequestFB, XR_TYPE_RENDER_MODEL_CAPABILITIES_REQUEST_FB) \
+ _avail(XrViewLocateFoveatedRenderingVARJO, XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO) \
+ _avail(XrFoveatedViewConfigurationViewVARJO, XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO) \
+ _avail(XrSystemFoveatedRenderingPropertiesVARJO, XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO) \
+ _avail(XrCompositionLayerDepthTestVARJO, XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO) \
+ _avail(XrSystemMarkerTrackingPropertiesVARJO, XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO) \
+ _avail(XrEventDataMarkerTrackingUpdateVARJO, XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO) \
+ _avail(XrMarkerSpaceCreateInfoVARJO, XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO) \
+ _avail(XrSpatialAnchorPersistenceInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT) \
+ _avail(XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT) \
+ _avail(XrSpaceQueryInfoFB, XR_TYPE_SPACE_QUERY_INFO_FB) \
+ _avail(XrSpaceStorageLocationFilterInfoFB, XR_TYPE_SPACE_STORAGE_LOCATION_FILTER_INFO_FB) \
+ _avail(XrSpaceUuidFilterInfoFB, XR_TYPE_SPACE_UUID_FILTER_INFO_FB) \
+ _avail(XrSpaceComponentFilterInfoFB, XR_TYPE_SPACE_COMPONENT_FILTER_INFO_FB) \
+ _avail(XrSpaceQueryResultsFB, XR_TYPE_SPACE_QUERY_RESULTS_FB) \
+ _avail(XrEventDataSpaceQueryResultsAvailableFB, XR_TYPE_EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB) \
+ _avail(XrEventDataSpaceQueryCompleteFB, XR_TYPE_EVENT_DATA_SPACE_QUERY_COMPLETE_FB) \
+ _avail(XrSpaceSaveInfoFB, XR_TYPE_SPACE_SAVE_INFO_FB) \
+ _avail(XrSpaceEraseInfoFB, XR_TYPE_SPACE_ERASE_INFO_FB) \
+ _avail(XrEventDataSpaceSaveCompleteFB, XR_TYPE_EVENT_DATA_SPACE_SAVE_COMPLETE_FB) \
+ _avail(XrEventDataSpaceEraseCompleteFB, XR_TYPE_EVENT_DATA_SPACE_ERASE_COMPLETE_FB) \
+ _avail(XrCompositionLayerSpaceWarpInfoFB, XR_TYPE_COMPOSITION_LAYER_SPACE_WARP_INFO_FB) \
+ _avail(XrSystemSpaceWarpPropertiesFB, XR_TYPE_SYSTEM_SPACE_WARP_PROPERTIES_FB) \
+ _avail(XrSemanticLabelsFB, XR_TYPE_SEMANTIC_LABELS_FB) \
+ _avail(XrRoomLayoutFB, XR_TYPE_ROOM_LAYOUT_FB) \
+ _avail(XrBoundary2DFB, XR_TYPE_BOUNDARY_2D_FB) \
+ _avail(XrDigitalLensControlALMALENCE, XR_TYPE_DIGITAL_LENS_CONTROL_ALMALENCE) \
+ _avail(XrSpaceContainerFB, XR_TYPE_SPACE_CONTAINER_FB) \
+ _avail(XrPassthroughKeyboardHandsIntensityFB, XR_TYPE_PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB) \
+ _avail(XrCompositionLayerSettingsFB, XR_TYPE_COMPOSITION_LAYER_SETTINGS_FB) \
+ _avail(XrPerformanceMetricsStateMETA, XR_TYPE_PERFORMANCE_METRICS_STATE_META) \
+ _avail(XrPerformanceMetricsCounterMETA, XR_TYPE_PERFORMANCE_METRICS_COUNTER_META) \
+ _avail(XrSystemHeadsetIdPropertiesMETA, XR_TYPE_SYSTEM_HEADSET_ID_PROPERTIES_META) \
+ _avail(XrPassthroughCreateInfoHTC, XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC) \
+ _avail(XrPassthroughColorHTC, XR_TYPE_PASSTHROUGH_COLOR_HTC) \
+ _avail(XrPassthroughMeshTransformInfoHTC, XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC) \
+ _avail(XrCompositionLayerPassthroughHTC, XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC) \
+ _avail(XrFoveationApplyInfoHTC, XR_TYPE_FOVEATION_APPLY_INFO_HTC) \
+ _avail(XrFoveationDynamicModeInfoHTC, XR_TYPE_FOVEATION_DYNAMIC_MODE_INFO_HTC) \
+ _avail(XrFoveationCustomModeInfoHTC, XR_TYPE_FOVEATION_CUSTOM_MODE_INFO_HTC) \
+ _avail(XrActiveActionSetPrioritiesEXT, XR_TYPE_ACTIVE_ACTION_SET_PRIORITIES_EXT) \
+
+
+#if defined(XR_USE_GRAPHICS_API_D3D11)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_avail, _unavail) \
+ _avail(XrGraphicsBindingD3D11KHR, XR_TYPE_GRAPHICS_BINDING_D3D11_KHR) \
+ _avail(XrSwapchainImageD3D11KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR) \
+ _avail(XrGraphicsRequirementsD3D11KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_D3D11_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D11(_avail, _unavail) \
+ _unavail(XrGraphicsBindingD3D11KHR, XR_TYPE_GRAPHICS_BINDING_D3D11_KHR) \
+ _unavail(XrSwapchainImageD3D11KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR) \
+ _unavail(XrGraphicsRequirementsD3D11KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_D3D11_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_D3D12)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_avail, _unavail) \
+ _avail(XrGraphicsBindingD3D12KHR, XR_TYPE_GRAPHICS_BINDING_D3D12_KHR) \
+ _avail(XrSwapchainImageD3D12KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR) \
+ _avail(XrGraphicsRequirementsD3D12KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_D3D12_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_D3D12(_avail, _unavail) \
+ _unavail(XrGraphicsBindingD3D12KHR, XR_TYPE_GRAPHICS_BINDING_D3D12_KHR) \
+ _unavail(XrSwapchainImageD3D12KHR, XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR) \
+ _unavail(XrGraphicsRequirementsD3D12KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_D3D12_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_avail, _unavail) \
+ _avail(XrSwapchainImageOpenGLKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR) \
+ _avail(XrGraphicsRequirementsOpenGLKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL(_avail, _unavail) \
+ _unavail(XrSwapchainImageOpenGLKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR) \
+ _unavail(XrGraphicsRequirementsOpenGLKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_WAYLAND)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_avail, _unavail) \
+ _avail(XrGraphicsBindingOpenGLWaylandKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_WAYLAND_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WAYLAND(_avail, _unavail) \
+ _unavail(XrGraphicsBindingOpenGLWaylandKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_WAYLAND_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_WIN32)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_avail, _unavail) \
+ _avail(XrGraphicsBindingOpenGLWin32KHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_WIN32(_avail, _unavail) \
+ _unavail(XrGraphicsBindingOpenGLWin32KHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_XCB)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_avail, _unavail) \
+ _avail(XrGraphicsBindingOpenGLXcbKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_XCB_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_avail, _unavail) \
+ _unavail(XrGraphicsBindingOpenGLXcbKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_XCB_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_XLIB)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_avail, _unavail) \
+ _avail(XrGraphicsBindingOpenGLXlibKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_XLIB_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_avail, _unavail) \
+ _unavail(XrGraphicsBindingOpenGLXlibKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_XLIB_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _avail(XrSwapchainImageOpenGLESKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR) \
+ _avail(XrGraphicsRequirementsOpenGLESKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR) \
+ _avail(XrSwapchainStateSamplerOpenGLESFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_avail, _unavail) \
+ _unavail(XrSwapchainImageOpenGLESKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR) \
+ _unavail(XrGraphicsRequirementsOpenGLESKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR) \
+ _unavail(XrSwapchainStateSamplerOpenGLESFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_OPENGL_ES) && defined(XR_USE_PLATFORM_ANDROID)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _avail(XrGraphicsBindingOpenGLESAndroidKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _unavail(XrGraphicsBindingOpenGLESAndroidKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR) \
+
+#endif
+
+#if defined(XR_USE_GRAPHICS_API_VULKAN)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _avail(XrVulkanSwapchainFormatListCreateInfoKHR, XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR) \
+ _avail(XrGraphicsBindingVulkanKHR, XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR) \
+ _avail(XrSwapchainImageVulkanKHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR) \
+ _avail(XrGraphicsRequirementsVulkanKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR) \
+ _avail(XrVulkanInstanceCreateInfoKHR, XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR) \
+ _avail(XrVulkanDeviceCreateInfoKHR, XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR) \
+ _avail(XrVulkanGraphicsDeviceGetInfoKHR, XR_TYPE_VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR) \
+ _avail(XrSwapchainImageFoveationVulkanFB, XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB) \
+ _avail(XrSwapchainStateSamplerVulkanFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB) \
+ _avail(XrVulkanSwapchainCreateInfoMETA, XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_avail, _unavail) \
+ _unavail(XrVulkanSwapchainFormatListCreateInfoKHR, XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR) \
+ _unavail(XrGraphicsBindingVulkanKHR, XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR) \
+ _unavail(XrSwapchainImageVulkanKHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR) \
+ _unavail(XrGraphicsRequirementsVulkanKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR) \
+ _unavail(XrVulkanInstanceCreateInfoKHR, XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR) \
+ _unavail(XrVulkanDeviceCreateInfoKHR, XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR) \
+ _unavail(XrVulkanGraphicsDeviceGetInfoKHR, XR_TYPE_VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR) \
+ _unavail(XrSwapchainImageFoveationVulkanFB, XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB) \
+ _unavail(XrSwapchainStateSamplerVulkanFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB) \
+ _unavail(XrVulkanSwapchainCreateInfoMETA, XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META) \
+
+#endif
+
+#if defined(XR_USE_PLATFORM_ANDROID)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _avail(XrInstanceCreateInfoAndroidKHR, XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR) \
+ _avail(XrLoaderInitInfoAndroidKHR, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR) \
+ _avail(XrAndroidSurfaceSwapchainCreateInfoFB, XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB) \
+ _avail(XrSwapchainStateAndroidSurfaceDimensionsFB, XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_avail, _unavail) \
+ _unavail(XrInstanceCreateInfoAndroidKHR, XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR) \
+ _unavail(XrLoaderInitInfoAndroidKHR, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR) \
+ _unavail(XrAndroidSurfaceSwapchainCreateInfoFB, XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB) \
+ _unavail(XrSwapchainStateAndroidSurfaceDimensionsFB, XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB) \
+
+#endif
+
+#if defined(XR_USE_PLATFORM_EGL)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_avail, _unavail) \
+ _avail(XrGraphicsBindingEGLMNDX, XR_TYPE_GRAPHICS_BINDING_EGL_MNDX) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_avail, _unavail) \
+ _unavail(XrGraphicsBindingEGLMNDX, XR_TYPE_GRAPHICS_BINDING_EGL_MNDX) \
+
+#endif
+
+#if defined(XR_USE_PLATFORM_WIN32)
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_avail, _unavail) \
+ _avail(XrHolographicWindowAttachmentMSFT, XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT) \
+
+#else
+#define _impl_XR_LIST_ALL_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_avail, _unavail) \
+ _unavail(XrHolographicWindowAttachmentMSFT, XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT) \
+
+#endif
+
+
+
+
+#endif
+
diff --git a/thirdparty/openxr/src/loader/loader_core.cpp b/thirdparty/openxr/src/loader/loader_core.cpp
index a8bbfb4de2..f2bc87d1fa 100644
--- a/thirdparty/openxr/src/loader/loader_core.cpp
+++ b/thirdparty/openxr/src/loader/loader_core.cpp
@@ -35,7 +35,7 @@
// Global loader lock to:
// 1. Ensure ActiveLoaderInstance get and set operations are done atomically.
// 2. Ensure RuntimeInterface isn't used to unload the runtime while the runtime is in use.
-std::mutex &GetGlobalLoaderMutex() {
+static std::mutex &GetGlobalLoaderMutex() {
static std::mutex loader_mutex;
return loader_mutex;
}
@@ -58,6 +58,8 @@ static XRAPI_ATTR XrResult XRAPI_CALL LoaderXrTermDestroyDebugUtilsMessengerEXT(
static XRAPI_ATTR XrResult XRAPI_CALL LoaderXrTermSubmitDebugUtilsMessageEXT(
XrInstance instance, XrDebugUtilsMessageSeverityFlagsEXT messageSeverity, XrDebugUtilsMessageTypeFlagsEXT messageTypes,
const XrDebugUtilsMessengerCallbackDataEXT *callbackData);
+static XRAPI_ATTR XrResult XRAPI_CALL LoaderXrGetInstanceProcAddr(XrInstance instance, const char *name,
+ PFN_xrVoidFunction *function);
// Utility template function meant to validate if a fixed size string contains
// a null-terminator.
diff --git a/thirdparty/openxr/src/loader/manifest_file.cpp b/thirdparty/openxr/src/loader/manifest_file.cpp
index df99d51f8f..1b0ef07848 100644
--- a/thirdparty/openxr/src/loader/manifest_file.cpp
+++ b/thirdparty/openxr/src/loader/manifest_file.cpp
@@ -348,14 +348,20 @@ static void ReadRuntimeDataFilesInRegistry(const std::string &runtime_registry_l
if (ERROR_SUCCESS != open_value) {
LoaderLogger::LogWarningMessage("",
"ReadRuntimeDataFilesInRegistry - failed to open registry key " + full_registry_location);
- } else if (ERROR_SUCCESS != RegGetValueW(hkey, nullptr, default_runtime_value_name_w.c_str(),
- RRF_RT_REG_SZ | REG_EXPAND_SZ | RRF_ZEROONFAILURE, NULL,
- reinterpret_cast<LPBYTE>(&value_w), &value_size_w)) {
+
+ return;
+ }
+
+ if (ERROR_SUCCESS != RegGetValueW(hkey, nullptr, default_runtime_value_name_w.c_str(),
+ RRF_RT_REG_SZ | REG_EXPAND_SZ | RRF_ZEROONFAILURE, NULL, reinterpret_cast<LPBYTE>(&value_w),
+ &value_size_w)) {
LoaderLogger::LogWarningMessage(
"", "ReadRuntimeDataFilesInRegistry - failed to read registry value " + default_runtime_value_name);
} else {
AddFilesInPath(wide_to_utf8(value_w), false, manifest_files);
}
+
+ RegCloseKey(hkey);
}
// Look for layer data files in the provided paths, but first check the environment override to determine
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table.c b/thirdparty/openxr/src/xr_generated_dispatch_table.c
index 91fa0c3ca0..094f9fbbda 100644
--- a/thirdparty/openxr/src/xr_generated_dispatch_table.c
+++ b/thirdparty/openxr/src/xr_generated_dispatch_table.c
@@ -354,6 +354,13 @@ void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
(get_inst_proc_addr(instance, "xrGetAudioInputDeviceGuidOculus", (PFN_xrVoidFunction*)&table->GetAudioInputDeviceGuidOculus));
#endif // defined(XR_USE_PLATFORM_WIN32)
+ // ---- XR_FB_scene extension commands
+ (get_inst_proc_addr(instance, "xrGetSpaceBoundingBox2DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox2DFB));
+ (get_inst_proc_addr(instance, "xrGetSpaceBoundingBox3DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox3DFB));
+ (get_inst_proc_addr(instance, "xrGetSpaceSemanticLabelsFB", (PFN_xrVoidFunction*)&table->GetSpaceSemanticLabelsFB));
+ (get_inst_proc_addr(instance, "xrGetSpaceBoundary2DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundary2DFB));
+ (get_inst_proc_addr(instance, "xrGetSpaceRoomLayoutFB", (PFN_xrVoidFunction*)&table->GetSpaceRoomLayoutFB));
+
// ---- XR_ALMALENCE_digital_lens_control extension commands
(get_inst_proc_addr(instance, "xrSetDigitalLensControlALMALENCE", (PFN_xrVoidFunction*)&table->SetDigitalLensControlALMALENCE));
@@ -368,6 +375,13 @@ void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
(get_inst_proc_addr(instance, "xrSetPerformanceMetricsStateMETA", (PFN_xrVoidFunction*)&table->SetPerformanceMetricsStateMETA));
(get_inst_proc_addr(instance, "xrGetPerformanceMetricsStateMETA", (PFN_xrVoidFunction*)&table->GetPerformanceMetricsStateMETA));
(get_inst_proc_addr(instance, "xrQueryPerformanceMetricsCounterMETA", (PFN_xrVoidFunction*)&table->QueryPerformanceMetricsCounterMETA));
+
+ // ---- XR_HTC_passthrough extension commands
+ (get_inst_proc_addr(instance, "xrCreatePassthroughHTC", (PFN_xrVoidFunction*)&table->CreatePassthroughHTC));
+ (get_inst_proc_addr(instance, "xrDestroyPassthroughHTC", (PFN_xrVoidFunction*)&table->DestroyPassthroughHTC));
+
+ // ---- XR_HTC_foveation extension commands
+ (get_inst_proc_addr(instance, "xrApplyFoveationHTC", (PFN_xrVoidFunction*)&table->ApplyFoveationHTC));
}
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table.h b/thirdparty/openxr/src/xr_generated_dispatch_table.h
index 51d48bef43..93d07a149e 100644
--- a/thirdparty/openxr/src/xr_generated_dispatch_table.h
+++ b/thirdparty/openxr/src/xr_generated_dispatch_table.h
@@ -357,6 +357,13 @@ struct XrGeneratedDispatchTable {
PFN_xrGetAudioInputDeviceGuidOculus GetAudioInputDeviceGuidOculus;
#endif // defined(XR_USE_PLATFORM_WIN32)
+ // ---- XR_FB_scene extension commands
+ PFN_xrGetSpaceBoundingBox2DFB GetSpaceBoundingBox2DFB;
+ PFN_xrGetSpaceBoundingBox3DFB GetSpaceBoundingBox3DFB;
+ PFN_xrGetSpaceSemanticLabelsFB GetSpaceSemanticLabelsFB;
+ PFN_xrGetSpaceBoundary2DFB GetSpaceBoundary2DFB;
+ PFN_xrGetSpaceRoomLayoutFB GetSpaceRoomLayoutFB;
+
// ---- XR_ALMALENCE_digital_lens_control extension commands
PFN_xrSetDigitalLensControlALMALENCE SetDigitalLensControlALMALENCE;
@@ -371,6 +378,13 @@ struct XrGeneratedDispatchTable {
PFN_xrSetPerformanceMetricsStateMETA SetPerformanceMetricsStateMETA;
PFN_xrGetPerformanceMetricsStateMETA GetPerformanceMetricsStateMETA;
PFN_xrQueryPerformanceMetricsCounterMETA QueryPerformanceMetricsCounterMETA;
+
+ // ---- XR_HTC_passthrough extension commands
+ PFN_xrCreatePassthroughHTC CreatePassthroughHTC;
+ PFN_xrDestroyPassthroughHTC DestroyPassthroughHTC;
+
+ // ---- XR_HTC_foveation extension commands
+ PFN_xrApplyFoveationHTC ApplyFoveationHTC;
};